且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《iOS应用软件设计之道》—— 3.3 定制控件

更新时间:2022-10-02 19:02:32

本节书摘来自华章出版社《iOS应用软件设计之道》一 书中的第3章,第3.3节,作者:(美)William Van Hecke ,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.3 定制控件

如果你从事了很长时间的软件项目,这个项目又足够复杂,则很可能会遇到标准组件不能提供你想象的那种***体验。本节不是要介绍定制标准控件外观的内容,那是第5章的话题。这里要谈及让控件表现为新的行为方式。
大部分时间,你可以基于标准控件而定制控件。这有点像标准控件可以做你期望的事情,而你希望再调整一下。通过仔细调校其特性,来满足你头脑中的交互过程,就可以让定制控件尽可能地接近iOS平台的精髓。
当然,也可以从头制作完全原创的控件,不基于现有的任何东西。如果你和你的团队能够完美地实现这一点,就可以被誉为用户界面设计的英雄了。然而,若你的执行效果有些欠缺,用起来就会很别扭和痛苦。
设想你想以快速、容易浏览的办法来提供一长串的选项,又不想占用大量空间。这些选项可以用小方块图标呈现出来,所以用带页签的大面积表格视图就过火了。但分段控件不能包含你计划的所有选项。那么你能创建哪类定制控件,来完成这个工作呢?
查看标准控件,找出能够提供某方式来从清单中拾取的那个。拾取器控件的垂直滚动轮能够做得很棒,提供一大堆选项的同时,又不占用太多空间。如何做能让拾取器的思路更紧凑、选项基于图标集呢?可以使用水平迷你拾取器,如图3.11所示。

《iOS应用软件设计之道》—— 3.3 定制控件

这个控件可以存放任意数目的选项,只要它们按各自不同的小方形图标呈现。它目前只占用一行表格行的空间,这要归功于其水平放置。它是容易上手的,因为利用了现有控件的交互暗喻。事实上,对于典型用户而言,控件可能并不能一眼看出是定制的。他们只知道,这仅是操作系统提供的标准控件而已。那太好了!融合为iOS平台的自然一部分,正是个崇高的目标。
控件有充足的办法来给出其定制状态。如果欠缺了以下这些考虑,你的控件与系统里的其他控件在一起时,不大可能很协调。
此控件如何对不同手势做出反应——触击、双触击、触摸并按住不放、拖动/滑动等。
若你无意中触摸某控件,然后拖动你的手指不放,会出现什么情况?(在标准按钮上,这会让你取消错误的触摸操作。)
这个控件如何匹配到不同的空间量,特别是在设备放置方式变化时?
当你触击控件的中间位置时,高亮此控件的效果如何?
该控件如何与辅助功能协同工作,特别是VoiceOver?