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