pro648/tips

关于 Segue几种类型的区别 中的一个问题

imzyf opened this issue · 2 comments

imzyf commented

请问 show(_, sender:) 与 navigationController?.pushViewController 是什么关系?有什么异同?

showViewController:sender:方法为视图控制器提供了自适应(adaptive)、灵活的呈现方式。该方法让presenting view controller决定如何呈现视图控制器。例如:容器视图控制器会以子视图控制器的形式呈现新的控制器,而非默认的modal形式。showViewController:sender:也是首选使用的方法。

pushViewController:animated:只能用在导航控制器堆栈中,不能用在UIViewController实例。在storyboar中,push segue已不推荐使用。

所以,推荐使用showViewController:sender:。查看这篇文章了解更为详细介绍。

imzyf commented

thanks.

show和push用在导航堆栈视图控制器时没有区别。在storyboar中,push segue已不推荐使用。所以,如果你不需要支持iOS 7,应当使用自适应性强、Apple推荐的showViewController: sender:、showDetailViewController: sender:方法。