【发布时间】:2013-05-29 12:29:12
【问题描述】:
我有一个通向 popOver 的按钮,所有这些都是在 Interface Builder 中创建的。当我按下它外面的某个地方时,popOver 会关闭,但我还想在 popOver 内实现一个按钮。
我找到了 Giorgio Barchiesi 可追溯到 2011 年的解决方案,但我未能实施。这是他的解决方案:
在源视图控制器的实现文件中:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue destinationViewController] isKindOfClass:[MyDestViewController class]]) {
MyDestViewController* viewController = (MyDestViewController*)[segue destinationViewController];
UIStoryboardPopoverSegue* popoverSegue = (UIStoryboardPopoverSegue*)segue;
[viewController setPopoverController:[popoverSegue popoverController]];
}
}
在目标视图控制器的头文件中:
@property (weak, nonatomic) UIPopoverController* popoverController;
在目标视图控制器的实现文件中:
@synthesize popoverController;
相同的文件,只要你想关闭弹出框:
[popoverController dismissPopoverAnimated:YES];
按下按钮时我可以调用最后一个函数。
我的问题是 XCode 在 [viewController setPopoverController:[popoverSegue popoverController]] 行上给了我一个错误:ARC 语义问题:选择器“setPopOverController”没有已知的类方法
我错过了什么?
【问题讨论】:
标签: ios uibutton uipopovercontroller uipopover