2011-11-28 97 views
3

我在我的应用程序中使用了弹窗视图,当我浏览示例时,我发现如何创建弹窗视图,但在示例代码中,弹窗视图正在获取显示在整个页面上。当我点击按钮时,我想要指定宽度和高度的弹窗框。如何在ipad中获取指定宽度和高度的弹窗框架

-(IBAction) settingsGo:(id) sender{ 

NSLog(@"Go"); 

如果(self.popoverController ==无)

{ 
    PopOver *lang = [[PopOver alloc] 
        initWithNibName:@"PopOver" bundle:[NSBundle mainBundle]]; 

    UIPopoverController *popOver = 
    [[UIPopoverController alloc]initWithContentViewController:lang]; 

    popOver.delegate = self; 
    [lang release]; 

    self.popoverController = popOver; 
    [popOver release]; 
} 



CGRect popoverRect = [self.view convertRect:[button frame]fromView:[button superview]]; 
popoverRect.size.width = MIN(popoverRect.size.width, 50); 

[self. popoverController 
presentPopoverFromRect:popoverRect inView:self.view permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES]; 

所以什么变化我应该在上面的代码使得到的宽度和高度的指定大小的帧。

回答

5

帐户是要显示的类。 popAccount是它的实例。 buttonA是点击后将显示popOver的按钮。

-(void)viewDidLoad 

{ 
    popAccount = [[Account alloc] init]; 

     //[popAccount setDelegate:self]; 

     popOverControllerA = [[UIPopoverController alloc] initWithContentViewController:popAccount]; 

     popOverControllerA.popoverContentSize = CGSizeMake(200, 200); 

} 
    -(IBAction)togglePopOverControllerA { 

     if ([popOverControllerA isPopoverVisible]) { 

      [popOverControllerA dismissPopoverAnimated:YES]; 

     } else { 

      [popOverControllerA presentPopoverFromRect:buttonA.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 
     } 

    } 

另外要求任何查询..

+0

CGRect popoverRect = [self.view convertRect:[button frame] fromView:[button superview]]; popoverRect.size.width = MIN(popoverRect.size.width,50); 这两行代码使我不设置框架postion.wheni使用此代码popOverControllerA.popoverContentSize = CGSizeMake(200,200);仍然它的框架放置在左角 – crazy2431

+0

[popOverControllerA presentPopoverFromRect:buttonA.frame inView:self.view allowedArrowDirections:UIPopoverArrowDirectionAny animated:YES];将使这个弹出窗口从buttonA框架出来 –

+0

亚我添加了它的工作正常,但我的按钮是右上角当我点击按钮框架显示在左上角corner.i要它显示在按钮下面 – crazy2431

2

popoverController.popoverContentSize设置为任意大小。

+0

谢谢ü如果我想在特定位置的框架我应该在上面的代码中添加什么代码? – crazy2431

+1

popOverControllerA.popoverContentSize = CGSizeMake(200,200); –

1

在根视图以定位

CGRect frame= CGRectMake(0,0, 0, 0); 

[self.myPickerPopover presentPopoverFromRect:frame inView:self.view permittedArrowDirections:0 animated:NO]; 

要尺寸在视图控制器内容被显示在酥料饼

-(void)viewDidLoad 

{ 


    self.contentSizeForViewInPopover = CGSizeMake(750,880); 


}