PopOver 左侧向上打开+iphone

Posted

技术标签:

【中文标题】PopOver 左侧向上打开+iphone【英文标题】:PopOver Open in Leftside up+iphone 【发布时间】:2011-11-29 12:55:14 【问题描述】:

我想在按钮点击事件上打开一个弹出框。 如下图:

但我得到的是:

我用于弹出框的代码是:

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];

【问题讨论】:

我认为您的要求不可能使用 popover ,替代解决方案是查看单击按钮 【参考方案1】:

更新

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


据我从您的屏幕截图中可以看出,您有一个黑色视图和一个白色视图,但您在他们的超级视图中显示了弹出窗口。

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

我认为这可能会限制弹出框超出视图,从而将其保留在您的 + 按钮下。

如果有帮助,请告诉我。

【讨论】:

感谢我使用此行的快速回复:- [popoverController presentPopoverFromRect:rect inView:self.view allowedArrowDirections:UIPopoverArrowDirectionUp animated:YES] ;但它也给出了与上图所示相同的输出 告诉我这个 - 在你的第二个屏幕截图中,白色背景的视图与 self.view 不同,还是 self.view?

以上是关于PopOver 左侧向上打开+iphone的主要内容,如果未能解决你的问题,请参考以下文章

用于在滚动视图中跟踪对象的 Popover 箭头

检测 uib-popover 何时打开和关闭?

Windows为什么双击打开‘我的电脑’, 没有了‘前进’‘ 后退’‘向上’等按钮?

UISplitViewController 内的 UIPopOverController

在 Xcode 中打开 Popover 选项以在 iPad 上选择相机或照片库时出错

如何在鼠标移入之前保持 Twitter Bootstrap Popover 打开?