我想在按钮点击事件上打开一个弹出窗口。 如下图所示:
但我得到的是:
我用于弹出窗口的代码是:
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];
答案 0 :(得分:1)
<强>更新强>
对于iOS 5,您可以使用弹出框的popoverLayoutMargins
属性来设置相对于设备屏幕边缘的插入。有关详细信息,请参阅this。
据我从你的截图中看到,你有一个黑色的视图和一个白色的视图,但你正在他们的超级视图中显示弹出窗口。
您可以尝试使用- (void)presentPopoverFromRect:(CGRect)rect inView:(UIView *)view permittedArrowDirections:(UIPopoverArrowDirection)arrowDirections animated:(BOOL)animated
方法,并将白色视图作为方法的view
参数传递,将UIPopoverArrowDirectionUp
传递给arrowDirections argument
。
我认为这可能会限制弹出窗口超出视图范围,从而将其保留在+
按钮下。
如果有帮助,请告诉我。