美文网首页
iOS什么时候用push或present

iOS什么时候用push或present

作者: 程守斌 | 来源:发表于2017-08-04 12:46 被阅读102次

push&present

push是由UINavigationController管理的视图控制器堆栈,在window下同时只能显示一个ViewController。
present是由UIViewController管理的视图控制器堆栈,在window下可以以叠加的方式展示,当顶层的view透明时可以看到底层的view,但只有顶层的view可用户交互。

在实际开发中的经常会遇到的需求

A页面(首页)
B页面(详情页)
C页面(编辑页)
1.全push交互:
在UITabBarController下由每个子UINavigationController来push所有的A、B、C页面。在特定场景下如QQ,从其他的任何子ViewController跳转到聊天页面,都需要将当期的UINavigationController pop至Root,再UITabBarController 跳转到第一个UINavigationController,然后再由当期的UINavigationController push至会话页面。
2.全present交互:
如今日头条,使用的就是全present交互,一致的present动画。这样的交互优势是简单,可以适应所有的跳转交互需求(本地交互与远程交互),缺点是用户交互方式单一,当遇到像QQ一样的单一聊天页面需求时,很难实现。
3.主push辅present交互:
主要由push交互,当遇到无其他跳转的页面时可以用present来跳转,例如编辑页面、登录页面。

相关文章

网友评论

      本文标题:iOS什么时候用push或present

      本文链接:https://www.haomeiwen.com/subject/booulxtx.html