dismiss viewController总是触发viewDidLoad而从不viewWillAppear

时间:2017-07-31 15:52:09

标签: ios swift uiviewcontroller presentmodalviewcontroller dismiss

我有一个标签栏,在最后一个标签中我有一个UIViewController A,里面有一个按钮,当你点击它时它会呈现一个UIViewController B:

let bVC = B()
bVC.settingsPresenter = self   
self.present(bVC, animated: true, completion: nil)

当用户在B中并希望离开屏幕时,有一个按钮在A(而不是B)上调用此方法:

self.dismiss(animated: true, completion: nil)

因此,当我第一次到达选项卡时,它会调用viewDidLoad,然后在A上调用viewWillAppear。 如果我转到第一个标签然后回到最后一个,只有viewWillAppear在A上。一切看起来都很正常。

但是当我解雇B时,调用了A的viewDidLoad,甚至没有viewWillAppear ...我怎么能使它成为反向的(你知道逻辑方式,因为视图已经加载了,我只需要通知选项卡将出现)

1 个答案:

答案 0 :(得分:0)

如果ViewController正在加载但显示另一个,它将永远不会显示,因为它呈现的其他视图控制器将出现

希望这有帮助!