PopOver在左侧打开+ iphone

时间:2011-11-29 12:55:15

标签: iphone objective-c ios ipad uipopovercontroller

我想在按钮点击事件上打开一个弹出窗口。 如下图所示: enter image description here

但我得到的是:

enter image description here

我用于弹出窗口的代码是:

PopOver *PopOver_obj=[[PopOver alloc]initWithNibName:@"PopOver_ipad" bundle:nil ];      
UIPopoverController  *popoverController = [[UIPopoverController alloc] initWithContentViewController:PopOver_obj];     
popoverController.delegate = self;     
CGSize maximumLabelSize = CGSizeMake(320.0f,200.0f);
popoverController.popoverContentSize = maximumLabelSize;
CGRect rect = CGRectMake(100,100, 200.0f, 100.0f);  
[popoverController presentPopoverFromRect:rect inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];

1 个答案:

答案 0 :(得分:1)

<强>更新

对于iOS 5,您可以使用弹出框的popoverLayoutMargins属性来设置相对于设备屏幕边缘的插入。有关详细信息,请参阅this


据我从你的截图中看到,你有一个黑色的视图和一个白色的视图,但你正在他们的超级视图中显示弹出窗口。

您可以尝试使用- (void)presentPopoverFromRect:(CGRect)rect inView:(UIView *)view permittedArrowDirections:(UIPopoverArrowDirection)arrowDirections animated:(BOOL)animated方法,并将白色视图作为方法的view参数传递,将UIPopoverArrowDirectionUp传递给arrowDirections argument

我认为这可能会限制弹出窗口超出视图范围,从而将其保留在+按钮下。

如果有帮助,请告诉我。