⬆️ 欢迎戳蓝字关注
📝 用苹果的 SF 符号解决应用内 icon 问题
如果有开发者发布这么一款具备相当复杂度的工具 app,但是它的资源区除了 AppIcon 什么都没有,我一点都不奇怪。
这是因为苹果的 SF Symbols 真的够用了。
关于 SF Symbols,可以参阅以下官网:
https://developer.apple.com/sf-symbols/
建议每个开发者在 Mac 上把官网提供的 SF 符号 app 下载下来,随时查阅,随着时间的推移,一款 App 需要用到什么符号心里能做到非常了然,熟练之后开发系统风格的产品应用层的效率会火箭上升。
如以上左上角的上箭头图标,编程时用下面的代码就能获得图片。
📝 排版和视觉,多参考同类伙伴
第一个例子,大名鼎鼎的 Telegram Messanger。
不是所有工具产品都适合设计成系统风格,但系统风格的产品天然适合做成工具。
最好的参考学习对象依然是前一篇文推荐的 Telegram Messanger,现在版本的 Telegram 功能越来越多了,最好直接从 Figma 参考老版本的设计。
https://www.figma.com/community/file/874574404452104362
举例取下面三个界面。
这里面几乎所有元素,都可以用系统内置方案实现,例如图1 的 Sync Contact 开关用的是标准的系统 UISwitch 控件, 图 2 的配色可以用 systemColor,只有图 3 的对话框小气泡,要么需要自己提供贴图,要么可以通过编程自绘制。
第二个例子,小众一点的产品,T9 拨号软件。
这款产品的功能主要是能让 iPhone 像老诺基亚一样支持 T9 快捷拨号。
产品内左下角的 icon 是作者自定义的,但是总体风格非常契合原生系统,其实这类代表“拨打电话” 的 icon 在 SF Symbols 中也有类似的。例如:
📝 有哪类游戏也适合原生系统风格
并不是所有游戏,都需要做个性化的设计以及非得使用游戏引擎不可。
例如,非实时的(静态交互式)、硬核或者复古的游戏。
非实时,所以最简单的界面代码就可以完成。硬核,所以玩家一般专注于操作或者思考,对这类玩家界面越朴素越好。复古和容易让人联想到“老土”的系统界面天然适配。
举个最经典的游戏例子,扫雷。
上面两个截图,尤其是第一个,是仿原生系统效果的,但仿的不是 iOS 7 的系统,而是 Windows 95/98 系统。但是如果用 iOS 系统原生的视觉效果替换,效果一样不会差。
题外话,对于扫雷这类游戏,因为扫雷的实际界面可以很大(如 80x80方格),手机只能显示局部界面,这时候如果用 iOS UIKit 中内置的 UIScrollView 实现,操作体验会非常丝滑。因此像这一类游戏,用原生 UI 控件很可能比用游戏引擎效果还要好一点。
📝 总结
之所以选择写这个“小白”的题材,是因为接触了一些在某些技术或者业务领域很精通的开发者,买了本《iOS开发指南》后觉得自己只是会做 “简单的基础控件”,想单独发布产品碍于 “不会写高级的界面”,心生畏惧。
我的看法是,你们在某项业务和技术领域的达人地位要比精通视觉开发要更珍贵,完全支持你们轻装上阵参与移动应用的竞争。
如果你擅长你所处的技术或者业务领域,并针对那个领域去做专业工具,那么就没必要费太多心思去把界面做的高级了。系统原生的控件和设计风格完全足够覆盖自己的需求,先用最低成本的视觉方案去进场参与整个流程,再去逐渐摸索更高级的玩法未尝不可。所以这两篇文章是为向我提问的开发者朋友而写,祝你们好运。
🔗 补充链接
移动开发者联盟入群指引