如何通过单击栏按钮来关闭弹出窗口

时间:2013-02-26 13:18:03

标签: iphone ios objective-c ios6 uipopovercontroller

嘿,我有一个我不得不展示弹出窗口的东西。我可以轻松地做到这一点。当显示其他类的弹出窗口时。此弹出框中有一个标题栏,其中有一个“Done”栏按钮。我想通过点击完成按钮来解除弹出窗口。

如何用完成按钮关闭弹出窗口?

谢谢

3 个答案:

答案 0 :(得分:3)

您是否尝试过搜索解决方案?

-(void) onDoneButtonClick {
    [popover dismissPopoverAnimated:YES];
}

答案 1 :(得分:0)

- (void)dismissPopoverAnimated:(BOOL)animatedUIPopoverController类的方法。为了以编程方式解除弹出窗口,您必须自己保留对所呈现的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];