我的目标是通过以下两种途径之一显示Popover。
第一个是按下按钮时显式,第二个是倒数计时器到期时。
第一个是工作 - 我将Storyboard Segue配置为Popover并绑定到按钮。按下按钮时,会出现一个弹出窗口。太好了!
第二个不是 - 我有一个定时器(NSTimer),每秒调用一次 - 一个方法,用倒计时剩余的秒数更新标签。当倒计时到零时,我想自动调用popover。我尝试了两种方法 - 一种是以编程方式调用按钮([self popoverButton:self]
)。另一个是使用以下代码:
PopViewController *myPopVC = [[PopViewController alloc] init];
UIStoryboardSegue *aSegue = [[UIStoryboardSegue alloc] initWithIdentifier:@"popoverSegue" source:self destination:myPopVC];
[self prepareForSegue:aSegue sender:self];
[aSegue perform];
这两种方法都不起作用,所以我们非常感谢任何帮助。
答案 0 :(得分:0)
使用popOverController的方法:
[pop presentPopoverFromRect:rect inView:self.view permittedArrowDirections: UIPopoverArrowDirectionUp animated:YES];
您需要创建一个CGRect,其中包含您想要popOver箭头指向的位置。或者您可以在视图中指定任何UIView的Frame。
答案 1 :(得分:0)
确保segue在storyboard中设置了标识符,然后调用performSegueWithIdentifier方法。有关如何在计时器到期时执行此操作的示例,请参阅此答案。