Dismiss Modal ViewController Popup

问题描述 投票:0回答:2

情况就是这样。我有2个控制器。在第一个控制器我有关于表格提交的正常反馈表格有弹出窗口(模态)。第二个控制器我用作模态。我使用第一个控制器的下面代码将第二个控制器称为模态。

popupObj= [self.storyboard instantiateViewControllerWithIdentifier:@"OTPDialogViewController"];
popupObj.view.frame = self.view.frame;
[self.view addSubview:popupObj.view];
[self addChildViewController:popupObj];

哪个工作正常。现在我想在第二个控制器中单击按钮关闭时关闭弹出窗口。下面的代码没有帮助

[self dismissModalViewControllerAnimated:NO];
ios objective-c xcode modal-dialog
2个回答
1
投票

您将popupObj视图控制器作为“子”视图控制器添加到第一个视图控制器。

如果你检查'addChildViewController:'的文档,解除它的相应方法(子视图控制器)是: - (void)removeFromParentViewController;

链接到: - (void)addChildViewController:(UIViewController *)childController; https://developer.apple.com/documentation/uikit/uiviewcontroller/1621394-addchildviewcontroller?language=objc

在popupObj视图中尝试这个控制器:

- (IBAction)dismissBtnClicked:(UIButton *)sender {
    [self removeFromParentViewController];
}

链接到: - (void)removeFromParentViewController; https://developer.apple.com/documentation/uikit/uiviewcontroller/1621425-removefromparentviewcontroller?language=objc

希望这可以帮助。


0
投票

这将在swift 4中为我工作。试试你的第二个视图控制器按钮动作方法

 @IBAction func btncClose(_ sender: UIButton) {

        self.dismiss(animated: true, completion: nil)
    }
© www.soinside.com 2019 - 2024. All rights reserved.