感觉单手,右手操作,人机交互,这一点是落后安卓啊。不知道苹果的工程师为什么没有注意这个问题。至少是一种低效率的返回。苹果的微信和自带浏览器返回很不方便。手小的人吃不消! 是不是一种缺陷?


作为一个 iOS 和 Android 的双持战士,我觉得有必要来回答一下

首先 Android 的右边框左滑是全面屏的时代兴起的,基本上目前市面上所有的全面屏手机都有这个功能,可以说是非常实用,这个必须要给 Android 一个赞

iOS 之所以没有这个手势,个人猜测是下面两个原因:

  1. iOS 的大部分界面,比如一级界面进二级界面,都是二级界面从右往左压在了一级界面上,就像两张纸一样,既然你是从左往右压在了一级界面上,那么返回的时候从右往左走就没啥毛病,所以左边框右滑这个动作很符合操作视觉逻辑,而右边框左滑就不符合操作视觉逻辑
  2. iOS 里面 App 的界面如果设计得当,那么其实不用手指到左边框,在内容页右滑就可以返回,比如知乎,你在回答页面右滑就会回到上一级界面。但是,理想很丰满,显示很骨感,滑动冲突这个古老而又敏感、让程序员恨的牙痒痒、让产品经理发际线后移的问题,怎么解决就很蛋疼。比如说,一个列表的 Item,你在上面右滑是触发 item 的右滑手势(或者自己处理,或者不响应)呢,还是触发 iOS 的返回上一级界面呢?不同的产品经理选择了不同的实现,
    1. 比如知乎的答案列表微博的微博详情页,选择的就是触发 iOS 的返回上一级界面,刷起来贼爽,大拇指就可以搞定
    2. 微信的对话页和朋友圈,就选择不作处理,作为平时使用最高频率的 App,要返回上一级简直太蛋疼了...
    3. 钉钉的主页就直接把这个手势给搞成点击了......

所以 iOS 用起来就比较蛋疼,常用的应用,微信的各个界面要左边框右滑才能返回上一页,如果用的是大屏幕,那手指移的叫一个酸爽;知乎和微博刷起来就很爽,内容页就可以右滑返回。

我大 Android 就没有这个问题,尤其是曲面屏的时候,部分机器右边框左滑手势还有一个小小的动画,感觉还蛮调皮的..


iOS和安卓手势的不同在于,安卓是手势映射按键,监测到滑动「结束」后,就播放返回动画并显示上一个页面。

iOS则是,手指滑到哪,拖拽的元素就跟到哪,哪怕拽到一半又拽回去它也跟著走。

至于左划还是右滑的问题:

现在大多数app的页面跳转逻辑都是类似下图这种:

所有页面横向排列,新页面被唤醒时,从右侧进场覆盖在原页面上;想要返回时,当前页面将从右侧滑出离场。

所以,出于模拟、拟物化的操作,从左往右滑动返回的逻辑顺理成章。

对了,safari不仅支持左右滑返回,还支持右左滑前进。

iOS上滑动返回也分两种,屏幕中央滑动和左侧边缘滑动。

一般来说屏幕中央滑动适用于本层逻辑内的页面切换(比如老版知乎左右滑动切换答案页),

而左侧边缘滑动适用于大层的返回(比如知乎从答案页返回到问题页、首页)。

至于安卓有从右往左的手势而苹果没有的问题,是因为这和页面树的逻辑相反。安卓厂商们普遍提供充足甚至过量的选择,哪怕它是反逻辑的。而对于苹果这个强迫症公司,让他这么搞跟杀了他差不多,他只会提供他认为合适的。

再补充一点,苹果没有从右向左返回手势还有一个重要原因,iOS大部分界面从右向左的手势已经被占用,是呼出选项菜单,他们长这样:

这样

这样

还有这样

还有@拉格朗日等4096人在评论里提到的iPad从右向左滑动是呼出分屏app。

我记得你果早前说过手势操作和 UI 逻辑的问题.

如果一个手势从右往左滑动, 但是当前页面却是从左向右过渡, 会让用户困惑, 而且不合逻辑.

iOS 这个手势是随页面而动的(也就是你们成天说的「跟手」); 而 Android 上大多都是手势结束以后, 才会执行返回这个动作. 在上面加个多么可爱的小动画也不能改变这个顺序.


而且暂且不说, 如果我没记错的话, 关于这个话题最早的舆论是这样的:

「为什么 iOS 没有返回键 垃圾」

而 iOS 这边的回复才是

「我们有手势操作啊」.


这符合苹果的一向设计习惯:

苹果:我不要你觉得,我要我觉得,我说手机必须用左手,你就只能用左手,凡是想用右手拿手机的,一定是你用错了,不可能是苹果的错。

安卓:右手持手机的是用户,左手持手机的也是用户,两种用户我们都提供服务,你要什么,我们就给什么。


其实右滑返回手势一直是iOS引以为傲的体验,如今Android手势体验感强与iOS

作为一枚iOS开发者,著实iPhone在全面屏左右滑动处理返回等体验已经掉队了,随著全面屏大屏幕时代,这些小体验对于日常使用手机尤其重要。

Android 10后去体Android手机,各种手势体验让人心旷神怡。大屏幕时代,全屏手势,Android左右滑动都可以返回,甚至还可以从下到上滑,Android手势体验感强与iPhone。

1、push压栈,从右到左,右滑返回、或返回按钮,pop到上一个界面(控制器:Controller),Apple API设计。

iOS的右滑返回手势,系统API是在屏幕边缘向右滑动,中间或其他地方不响应。从 A 界面push压栈到B界面,手势由导航控制器(navigationController)控制,有些可能从A push 到B没有返回手势,可能屏蔽了右滑返回,push可以新增一些手势处理,不过API设计缘由,暂时无法添加其他手势,即现在右滑返回单一手势。

let infoVC = ViewController()
self.navigationController?.pushViewController(infoVC, animated: true)
/// pop
self.navigationController?.popViewController(animated: true)

2、present从下到上,iOS 13以前系统无任何返回手势,iOS 13 默认下拉dismiss界面,弥补了present后无手势返回的痛点,不得不点击按钮返回,只是来的有些晚= =。

let infoVC = ViewController()
//infoVC.modalPresentationStyle = .fullScreen 默认下拉返回,全屏presnt没有下拉返回= =
self.present(infoVC, animated: true, completion:nil)
/// dismiss
self.dismiss(animated: true, completion: nil)

期待Apple交互设计师、工程师创作更多实用的iOS手势,毕竟屏幕越来越大了,手势体验需求越发的重要,似乎iOS用户沉浸在右滑返回,看到大部分用户都是双手操作,尤其是24键盘,而我我依旧习惯单手操控,设备6.1英寸。


推荐阅读:
相关文章