我有2个UIViewControllers。第一个ViewController有一个标签,视图和一个按钮,第二个视图有一个标签,文本框和添加按钮,并在底部的ok按钮。两个ViewController都有单独的swift文件。当我按下第一个ViewController中的按钮时,它将第二个视图控制器显示为子视图。在子视图中,一切正常

但是当我按下确定按钮时,我希望子视图被关闭。我在谷歌上搜索,但找不到任何相对答案。

注意:我正在使用Xcode 7.1.1 swift2。 “取消”按钮必须放在子视图中。

用于将第二个视图显示为子视图的代码

    let object = self.storyboard?.instantiateViewControllerWithIdentifier("caller") as? ViewController
    self.view.addSubview(object!.view)


在这里调用者-第二个viewController StoryBoard ID。
ViewController-第二个ViewController

最佳答案

我认为不是将第二个viewcontroller的视图作为第一个viewcontroller的子视图添加,您实际上应该(甚至可能想要)执行以下操作:

在您的第一个ViewController中显示第二个ViewController:

let vc2 = self.storyboard?.instantiateViewControllerWithIdentifier("caller")
presentViewController(vc2!, animated: true, completion: nil)


在第二个ViewController中关闭第一个ViewController:

dismissViewControllerAnimated(true, completion: nil)

关于ios - 如何通过同一 subview 中的一个按钮关闭 subview ,该 subview 是UIViewController,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34157100/

10-15 15:05