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

2018-05-24 16:41:24 +08:00
 mcluyu

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

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

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

好了,我编不下去了。
wpo
2018-05-24 17:13:40 +08:00
当时有考虑过,后来因为界面的一些逻辑,如果不在一个 push 流里面,容易出现重复的控制器,难以定位。
wpo
2018-05-24 17:14:07 +08:00
@wpo #10 PS:自己开发的 APP
mcluyu
2018-05-24 17:15:02 +08:00
@kera0a 好吧。。。这样来看,真是双赢呢,产品想这样,开发也很开心。。
mcluyu
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
2018-05-24 17:46:53 +08:00
例如在 tab"发现"的朋友圈里面准备给朋友留言,这个时候直接切换到 tab"微信页面",
然后如果用户再点击 tab"发现" 应该去哪个页面?
mcluyu
2018-05-24 17:52:54 +08:00
回到刚才你准备留言的地方继续留言喽~~,你离开它的时候啥样,回来还是啥样(如果不执行代码操作),这是 tab 页与 tab 页之间的特性
zjb861107
2018-05-24 18:05:41 +08:00
这不仅仅是具体实现的问题吧,隐藏 tabbar 应该可以让用户更聚焦在这个页面上
Nick
2018-05-24 18:17:28 +08:00
举一个商城的例子,如果在商品详情页保留 tab 栏,那会变成这样
mcluyu
2018-05-25 09:10:27 +08:00
@Nick 现在的页面都是按照隐藏 tabbar 设计的,首页、购物车按钮就是多余的了如果不隐藏
changwei
2018-05-25 13:38:24 +08:00
所以我觉得知乎的设计还是比较前沿的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/457494

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX