V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
mcluyu
V2EX  ›  程序员

为什么国内几乎所有 APP 都要在 push 页面后隐藏 tab 栏

  •  
  •   mcluyu · 2018-05-24 16:41:24 +08:00 · 3239 次点击
    这是一个创建于 2400 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如果只是要增加页面空间用于浏览的话,现在手机屏幕普遍已经很大了,根本不用再去压缩那么点高度了吧。 相反,如果不隐藏的话,使用上还是会方便很多的, 就拿微信来说,在“发现” tab 进入朋友圈以后,如果不隐藏 tab 栏, 那有新消息的时候就直接点击“微信” tab, 就能直接查看消息, 不用点返回再点击。 相应的其他很多场景,进入其他 tab 的子页面后,都可以方便的点击别的 tab 页面,而不用非得返回每个 tab 的首页才能选择其他 tab

    19 条回复    2018-05-25 13:38:24 +08:00
    CastleBUPT
        1
    CastleBUPT  
       2018-05-24 16:45:51 +08:00
    因为 tabbar controller 和 navigation controller 是两个东西
    CoCoMcRee
        2
    CoCoMcRee  
       2018-05-24 16:47:18 +08:00
    大厂的产品经理这么定, 可能是有历史遗留, 可能是为了用户习惯, 可能有别的考量
    小长的产品经理这么觉得就是看人家大厂的产品经理
    mcluyu
        3
    mcluyu  
    OP
       2018-05-24 16:49:10 +08:00
    @CastleBUPT 两个东西所以就要隐藏?默认是不隐藏的吧,iOS 里要隐藏的话是需要加代码的
    mcluyu
        4
    mcluyu  
    OP
       2018-05-24 16:55:31 +08:00
    @CoCoMcRee 好像成了约定俗成的东西,别人都这样,也就这样了,历史硬件原因比较大感觉
    CastleBUPT
        5
    CastleBUPT  
       2018-05-24 16:55:42 +08:00
    @mcluyu
    仅说 iOS。
    tabbar 是根据点击底部 tab 来切换 view controller 的。
    navigation 点击左上返回和手势来切换 view controller,用栈来实现的。
    两者的操作逻辑不一样,一般 tab 只会用在主界面。
    expkzb
        6
    expkzb  
       2018-05-24 17:00:47 +08:00
    每个 tab 都 push 一堆控制器的话,内存顶不住啊
    mcluyu
        7
    mcluyu  
    OP
       2018-05-24 17:04:11 +08:00
    @expkzb 嗯,这算是一个遗留硬件问题
    kera0a
        8
    kera0a  
       2018-05-24 17:08:32 +08:00
    假如微信朋友圈打开 tab,会发生什么呢
    从朋友圈 点击头像(继续显示 tab) -> 进入聊天(隐藏 tab) -> 点头像(显示 tab) -> 点他的朋友圈(隐藏 tab)
    想想都复杂,还是全隐藏了得了
    airyland
        9
    airyland  
       2018-05-24 17:10:27 +08:00
    假若像你说的保留 tab 方便跳到其他,下个需求应该就是希望在这种情况下把朋友圈放在 tab 方便跳回来。底部没有 tab 另一个原因大概是在需要阅读的功能界面减少阅读干扰。

    订阅号阅读,朋友圈,钱包都是属于一级 tab 下的功能,一方面是层级不同无法并入 tab,一方面是这其实是个十分明确的交互操作,用户知道在哪里找到哪个功能,用户知道返回就能回到上一级,就好像很早以前对普通用户来说 打开导航网站 -> 搜索百度 -> 进入百度 -> 搜索要找的网站名字(举例) 虽然长但是明确无歧义。这里应该是有优化空间的,只是可能没有达到这样的明确性。目前只有从一级到二级的快捷功能,比如扫一扫和付款,但无法做到从二级到一级,在二级界面添加快捷功能都不如一个大家都知道的返回好用,而且容易丑。

    好了,我编不下去了。
    wpo
        10
    wpo  
       2018-05-24 17:13:40 +08:00
    当时有考虑过,后来因为界面的一些逻辑,如果不在一个 push 流里面,容易出现重复的控制器,难以定位。
    wpo
        11
    wpo  
       2018-05-24 17:14:07 +08:00
    @wpo #10 PS:自己开发的 APP
    mcluyu
        12
    mcluyu  
    OP
       2018-05-24 17:15:02 +08:00
    @kera0a 好吧。。。这样来看,真是双赢呢,产品想这样,开发也很开心。。
    mcluyu
        13
    mcluyu  
    OP
       2018-05-24 17:27:41 +08:00
    @airyland
    @wpo
    其实很早以前就看到过关于这个的文章, 之所以觉得这样有方便的地方是因为 Apple 自己的很多 APP 都是这样的,App Store,Applestore 等等,并不需要同一个层级的页面才能同时并入 tab,Applestore 进入商品详情页面等都不会隐藏 tabbar, 如果要返回 rootViewController, 只要点击选中的 tab 就行了,这也是 iOS 的默认功能。
    另外商城类的 APP 其实可以采用这种逻辑, 商品详情页直接点击购物车 tab 就可以查看,而不是加一个购物车按钮,点击购物车跳转。或许逻辑混乱也是导致大多数 APP 选择隐藏 tabbar 的原因吧。
    akira
        14
    akira  
       2018-05-24 17:46:53 +08:00
    例如在 tab"发现"的朋友圈里面准备给朋友留言,这个时候直接切换到 tab"微信页面",
    然后如果用户再点击 tab"发现" 应该去哪个页面?
    mcluyu
        15
    mcluyu  
    OP
       2018-05-24 17:52:54 +08:00
    回到刚才你准备留言的地方继续留言喽~~,你离开它的时候啥样,回来还是啥样(如果不执行代码操作),这是 tab 页与 tab 页之间的特性
    zjb861107
        16
    zjb861107  
       2018-05-24 18:05:41 +08:00
    这不仅仅是具体实现的问题吧,隐藏 tabbar 应该可以让用户更聚焦在这个页面上
    Nick
        17
    Nick  
       2018-05-24 18:17:28 +08:00
    举一个商城的例子,如果在商品详情页保留 tab 栏,那会变成这样
    mcluyu
        18
    mcluyu  
    OP
       2018-05-25 09:10:27 +08:00
    @Nick 现在的页面都是按照隐藏 tabbar 设计的,首页、购物车按钮就是多余的了如果不隐藏
    changwei
        19
    changwei  
       2018-05-25 13:38:24 +08:00 via Android
    所以我觉得知乎的设计还是比较前沿的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1064 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:53 · PVG 02:53 · LAX 10:53 · JFK 13:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.