【发布时间】:2013-02-26 13:18:03
【问题描述】:
嘿,我有一个我必须在其中显示弹出框的地方。我可以轻松做到这一点。当显示其他类的弹出窗口时。此弹出窗口中有一个带有条形按钮“完成”的标题栏。我想通过单击完成按钮来关闭弹出框。
如何使用完成按钮关闭弹出框?
谢谢
【问题讨论】:
标签: iphone ios objective-c ios6 uipopovercontroller
嘿,我有一个我必须在其中显示弹出框的地方。我可以轻松做到这一点。当显示其他类的弹出窗口时。此弹出窗口中有一个带有条形按钮“完成”的标题栏。我想通过单击完成按钮来关闭弹出框。
如何使用完成按钮关闭弹出框?
谢谢
【问题讨论】:
标签: iphone ios objective-c ios6 uipopovercontroller
您是否尝试过寻找解决方案?
-(void) onDoneButtonClick {
[popover dismissPopoverAnimated:YES];
}
【讨论】:
- (void)dismissPopoverAnimated:(BOOL)animated 是UIPopoverController 类的方法。为了以编程方式关闭弹出框,您必须自己保留对呈现的UIPopoverController 的引用。
这是一个可能的解决方案:
在弹出框加载的视图控制器中,定义一个属性。
@interface MyViewController: UIViewController
@property (nonatomic, strong) UIPopoverController *popover;
@end
在 segue 到 popover 执行之前,存储 segue 的 popover 控制器。
- (void)prepareForSegue:(UIStoryboardPopoverSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"mySegue"])
{
MyViewController *dvc = segue.destinationViewController;
dvc.popover = [segue popoverController];
}
}
当按钮被点击时,关闭弹出框。
- (void)onButtonClick:(id)sender
{
[self.popover dismissPopoverAnimated:YES];
}
【讨论】:
在简单的popoverobj中并在按钮事件上使用简单的方法。
[popoverobj dismissPopoverAnimated:YES];
【讨论】: