V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
lastObject
V2EX  ›  问与答

iOS 微信在使用中,不管是在哪个界面中点击发消息,聊天页面在退出时都会退出到消息列表界面,在技术上是如何实现的

  •  
  •   lastObject · 2016-03-11 15:52:35 +08:00 · 2365 次点击
    这是一个创建于 2978 天前的主题,其中的信息可能已经有所发展或是发生改变。
    iOS 微信在使用中,不管是在哪个界面中点击发消息,聊天页面在退出时都会退出到消息列表界面,在技术上是如何实现的。
    我尝试用过通知,让 index = 0 的 tab push 新界面
    尝试过用代理,每一个页面都持有 index = 0 的 tab

    提供点其他思路也行
    10 条回复    2016-03-13 20:00:44 +08:00
    mofet
        1
    mofet  
       2016-03-11 16:22:11 +08:00
    微信的 navigation 应该是自己实现的
    finab
        2
    finab  
       2016-03-11 16:37:30 +08:00
    push 进去 和 pop 出来的动画 让人感觉这个聊天 viewController 在两个 NAV 里移动了。
    比如在联系人那 push , push 动画明显可以看到是联系人 push 的。
    pop 出来时,又是消息列表
    肯定不是简单的切换 tab 做的到的

    我有一个想法,不过还是先去用 Reveal 验证下微信是不是这样实现的。。
    如果猜错了就不发了,猜对了再发上来😄
    xi_lin
        3
    xi_lin  
       2016-03-11 16:46:03 +08:00
    我是自定义了 tab 的切换动画,把这一种后退事件变成 tab 切换事件,同时这类切换的动画变成和 navigation pop 效果一致就行了
    不过我的 tabbar 出现时间处理的不好
    lastObject
        4
    lastObject  
    OP
       2016-03-11 16:50:12 +08:00
    有朋友给我推荐了这个链接
    http://www.cocoachina.com/ios/20160121/15057.html

    能解决 但就是想问问 有没有别的方式
    nagato
        5
    nagato  
       2016-03-11 16:56:28 +08:00
    你自定义一下聊天页面的 back button 应该就可以啊, {pop; select first tab of your tabbar controller}
    xi_lin
        6
    xi_lin  
       2016-03-12 10:41:06 +08:00
    @lastObject 这个方案个人比较不赞同
    lastObject
        7
    lastObject  
    OP
       2016-03-12 14:39:23 +08:00
    @xi_lin 我也不赞同, 但没想到不赞同当原因,那个帖子中也有人说苹果官方不建议,但没给出链接
    xi_lin
        8
    xi_lin  
       2016-03-12 22:06:26 +08:00
    @lastObject 官方 ViewController PG 里给出的 UITabbarController 和 UINavigationController 混合使用的模式就是 Tab 里套 navi
    lastObject
        9
    lastObject  
    OP
       2016-03-13 08:21:34 +08:00
    @xi_lin 那为什么不赞同反过来套, 你这例子没有说服力
    xi_lin
        10
    xi_lin  
       2016-03-13 20:00:44 +08:00
    @lastObject 因为反过来不符合规范啊。而且他的做法不仅仅是反过来套的问题,而是有两层 navi 在
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3000 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 14:49 · PVG 22:49 · LAX 07:49 · JFK 10:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.