UINavigationController.presentViewController和self.presentViewController有什么区别?

时间:2016-10-31 08:52:21

标签: ios swift uinavigationcontroller presentviewcontroller

假设我有一个带有根视图控制器A的导航控制器,我需要提供一个视图控制器B,我可以使用以下两种方法之一:

  1. self.navigationController!.presentViewController(b, animated: true)
    1. self.presentViewController(b, animated: true)
    2. 但是,我只是想知道,这两种方式有什么区别?

1 个答案:

答案 0 :(得分:1)

它们是类似的 - 都引发了模式演示。

在最近的iOS版本中,模态演示总是传到最顶层的容器视图控制器。因此,当您的视图控制器(又名 var obj = {'aaas':"good","aasda":"ok","adasa":"good","ascas":"good","asdasd":"nw","asdasda":"nw",asdqw:"nw","assa":"ok","asscsa":"ok"}; var newObj={}; angular.forEach(obj, function(value, key) { if(value=="good"){ newObj[key]=value; } }); )是导航控制器(又名self)内的容器时,当您尝试在视图控制器上显示时,它会将演示任务传递给导航控制器。您可以在演示文稿完成后记录self.navigationController presentingController来验证这一点。在这两种情况下,b都将成为导航控制器。