Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Popover并没有自我否定_Ios_Objective C_Popover - Fatal编程技术网

Ios Popover并没有自我否定

Ios Popover并没有自我否定,ios,objective-c,popover,Ios,Objective C,Popover,当我点击一个按钮时,我试图让一个popover自动关闭,但它似乎不起作用。我知道这方面有一些问题,但我认为我的设置略有不同。在故事板中,我有以下设置: 查看控制器->(segue popover)->查看控制器2 视图控制器2有一个链接到iAction的“完成”按钮,如下所示: - (IBAction)returnCommand:(id)sender { [self dismissViewControllerAnimated:YES completion:nil]; } 我知道您可以在

当我点击一个按钮时,我试图让一个
popover
自动关闭,但它似乎不起作用。我知道这方面有一些问题,但我认为我的设置略有不同。在故事板中,我有以下设置:

查看控制器->(segue popover)->查看控制器2

视图控制器2有一个链接到iAction的“完成”按钮,如下所示:

- (IBAction)returnCommand:(id)sender {
    [self dismissViewControllerAnimated:YES completion:nil];
}

我知道您可以在弹出窗口外单击以关闭它,但我想在按下Done时执行一些其他操作。使用此代码,单击“完成”按钮时不会发生任何事情

使用UIPopover方法
DismissPopoOveranimated:
解除popover。从文档中:

讨论

您可以使用此方法在中以编程方式取消popover 对popover窗口内的轻敲做出响应。水龙头在门外 popover的内容会自动关闭popover


这个示例代码怎么样:

- (IBAction)returnCommand:(id)sender {
     if ([viewController2 isPopoverVisible]) {
         [viewController2 dismissPopoverAnimated:YES];
         viewController2 = nil;
         return;
     }
}

您需要向View Controller 1发送操作已完成的消息。然后,视图控制器1应关闭popover。