嘿,我有一个我不得不展示弹出窗口的东西。我可以轻松地做到这一点。当显示其他类的弹出窗口时。此弹出框中有一个标题栏,其中有一个“Done”栏按钮。我想通过点击完成按钮来解除弹出窗口。
如何用完成按钮关闭弹出窗口?
谢谢
答案 0 :(得分:3)
您是否尝试过搜索解决方案?
-(void) onDoneButtonClick {
[popover dismissPopoverAnimated:YES];
}
答案 1 :(得分:0)
- (void)dismissPopoverAnimated:(BOOL)animated
是UIPopoverController
类的方法。为了以编程方式解除弹出窗口,您必须自己保留对所呈现的UIPopoverController
的引用。
这是一个可能的解决方案:
在弹出窗口加载的视图控制器中,定义属性。
@interface MyViewController: UIViewController
@property (nonatomic, strong) UIPopoverController *popover;
@end
在执行segue到popover之前,存储segue的弹出控制器。
- (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];
}
答案 2 :(得分:0)
只需使用popoverobj并在按钮事件上使用简单方法。
[popoverobj dismissPopoverAnimated:YES];