《iOS Human Interface Guidelines》——Toolbar Bar

工具栏

工具栏包含了执行与屏幕视图中的对象相关的操作的控件。

一个工具栏:

  • 是半透明的
  • 在iPhone上永远出现在屏幕视图的底部边缘。在iPad上也可以出现在屏幕视图的顶部边缘。
  • 可以在键盘出现时、用户做一个手势时或者抱哈你的视图控制器过渡成水平紧凑环境时隐藏。

API NOTE

工具栏一般包含在导航控制器(管理一系列层级的自定义视图显示的对象)内。查看Displaying a Navigation
Toolbar
UIToolbar Class Reference来学习更多关于在你的代码中定义工具栏的内容。

使用工具栏来提供一系列用户可以在当前环境执行的动作。

包括在当前环境有意义的用的最多的命令。尽可能地不要使用工具栏提供只偶尔用到的命令。

考虑使用分栏控件(Segmented Control)来提供到当前环境不同构面或模式连接。在工具栏使用分栏控件来显示app层级的任务或模式不是好主意,因为工具栏是特殊对应当前屏幕视图的。如果你需要给用户到你app中基本任务、视图或模式的链接,使用标签栏(Tab Bar)来代替。查看Segmented
Control
来学习关于分栏控件的内容;查看Tab Bar来学习关于标签栏的内容。

如果你需要在工具栏放置超过三个元素的话,使用图标。因为文本标题的按钮一般使用比图片更多的空间,会很难让这些标题不挤到一起去。

确保文本标题的按钮之间有足够的空间。如果在工具栏的两个或更多按钮之间没有足够的空间,文本标题会挤到一起去并且用户会很难区分它们。如果按钮标题在你的工具栏中看起来太紧凑,使用UIBarButtonSystemItemFixedSpace来增加它们之间合适的空间。(查看UIBarButtonItem
Class Reference
学习更多关于这个常量的内容。)

工具栏和导航栏按钮

iOS提供了很多使用在内置app中的标准工具栏和导航栏按钮。查看Bar Button Icons学习如何设计自定义的图标。工具栏和导航栏中的元素可以使用tintColor属性来上色。

在表41-1中找到符号名称对应的按钮描述,在UIBarButtonItem Class Reference中查看UIBarButtonSystemItem的文档。

IMPORTANT

对于所有标准按钮和图标,基于其意义而不是外观来使用按钮是必要的。这会帮助你的app的UI即使在某个意义的按钮改变了其外观时依然有意义。

表41-1 工具栏和导航栏可使用的标准按钮

除了表41-1显示的按钮之外,你也可以使用系统提供的编辑、取消、保存、完成、重做和撤销按钮来在你的app中支持编辑或其他类型的内容操作。这每个按钮的外观都由其文本标题提供。查看UIBarButtonItem
Class Reference
中查看UIBarButtonSystemItem的文档来找到这些按钮的符号名称。

最后,你也可以在工具栏中使用系统提供的信息按钮:

本文翻译自苹果官方开发文档

查看完整合集:https://github.com/Cloudox/iOS-Human-Interface-Guidelines

版权所有:http://blog.csdn.net/cloudox_

时间: 2024-10-18 06:07:10

《iOS Human Interface Guidelines》——Toolbar Bar的相关文章

《iOS Human Interface Guidelines》——Tab Bar

标签栏 标签栏让人们可以在一个app不同的子任务.视图或模式之间切换. API NOTE 标签栏包含在标签栏控制器(管理一系列自定义视图的显示)内.查看Tab Bar Controllers和UITabBar来学习更多关于在你的代码中定义标签栏的内容. 一个标签栏: 是半透明的 总是出现在屏幕的底部边缘 在垂直紧凑环境下一次最多显示五个标签(如果有更多的标签,标签栏会显示其中四个,并添加一个"更多"标签,来在一个列表中显示其余的标签) 在所有方向保持同样的高度 可以在标签上显示一个标记

《iOS Human Interface Guidelines》——Scope Bar

范围栏 范围栏--只在和搜索栏结合时可用--帮助用户定义搜索的范围. API NOTE 查看UISearchBar学习更多关于在你的代码中定义搜索栏和范围栏的内容. 当搜索栏出现时,范围栏可以显示在附近的位置.范围栏采用你给搜索栏定义的同样的外观. 当用户想要搜索有清晰的定义或典型的分类的内容时显示范围栏会很有用.不过,更好的是增强搜索结果这样用户就不需要自己定义他们的搜索范围了. 本文翻译自苹果官方开发文档 查看完整合集:https://github.com/Cloudox/iOS-Human

《iOS Human Interface Guidelines》——Undo and Redo

撤销与重做 用户通过摇动设备来发起一个撤销操作,这会显示一个警告框来让他们: 撤销他们刚刚输入的内容 重新输入以前未完成的输入 取消撤销操作 你可以在你的app中以一种更一般的方式来支持撤销操作,通过说明: 用户可以撤销或重做的动作 在何种情况下你的app应该将一个摇动事件看做一个撤销手势 支持何种程度的撤销 查看Undo Architecture学习如何在代码中实现这个行为.如果你的app支持撤销与重做,遵循下面的指南来提供一个好的用户体验. 提供简短的描述短语来精确地告知用户他们正在撤销或重

《iOS Human Interface Guidelines》——Launch Files

启动文件 启动文件(或者图片)提供了简单的在你的app启动的时候iOS显示的占位图.这个占位图会让用户觉得你的app很快就有响应,因为它直接显示而且很快会被你的app的第一个屏幕代替.每个app都必须提供一个启动文件或者至少一个静态图片. 在iOS 8及以后的系统中,你可以创建一个XIB或者故事版文件来代替静态启动图片.当你在Interface Builder中创建一个启动文件时,使用尺寸类来定义不同显示环境的不同布局,使用Auto Layout来做小的调整.使用尺寸类和Auto Layout意

《iOS Human Interface Guidelines》——Multitasking

多任务处理 多任务处理让人们在屏幕上(以及合适的iPad模式)查看多个app,并且在最近使用的app中快速地切换.在iOS 9中,人们可以使用多任务处理UI(如下所示)来选择一个最近使用的app. 在多任务处理环境中的成功取决于与设备上其他app的和谐共处.在高层面上,这意味着app应该: 用心地优化资源的使用来避免使用过多的CPU.内存.屏幕控件和其他资源 优雅地处理其他app的干扰和声音 停止和重新开始--即过渡到后台或从后台过渡--快速而平滑 当没有在前台时对行为负责 下面的特有的指南会帮

《iOS Human Interface Guidelines》——3D Touch

3D Touch 3D Touch让iOS 9的用户多了一个交互的维度.在支持的设备上,人们可以通过按压主屏幕上的app图标来快速地选择其特有的操作.在app内,人们可以使用多种压力来获取一个内容的预览.在另一个视图打开内容以及获取相关的操作.(查看Adopting 3D Touch on iPhone来学习更多关于在你的代码中支持3D Touch的内容.) Peek 和 Pop Peek让用户可以在不离开当前环境的情况下预览一个内容以及执行相关的操作.元素通过在轻按时显示一个小的矩形视图(有时

《iOS Human Interface Guidelines》——Collection View

集合视图 集合视图管理有序的条目集合并且在自定义的布局中显示它们. API NOTE 查看Collection View Programming Guide for iOS来学习更多关于在你的代码中定义集合视图的内容. 一个集合视图: 可以包含一些可选的视图来视觉上区分条目的子集合或者提供装饰性的内容,比如自定义背景 支持布局间自定义的过渡动画(集合视图默认提供用户插入.移动或删除条目的动画) 支持额外的手势识别来执行自定义的动作.集合视图默认识别点击(选中条目)和长按(编辑条目). 使用集合视

《iOS Human Interface Guidelines》——Sound

声音 无论声音是你app用户体验的主要部分还是一个可选的增益,你都要知道用户对声音有何期待以及如何满足这些期待. 理解用户的期待 用户可以使用设备的控制来影响声音,并且他们可能使用有线或无线的耳机.人们也对他们的行为如何影响他们听到的声音抱有很多期待.虽然你可能会发现有些期待很惊人,但这都遵循用户,而不是设备,决定的用户控制. 当用户想要做如下事情的时候他们会使设备静音: 避免被不期待的声音干扰,比如电话铃声和收到短信的声音 避免听到用户行为副产品的声音,比如键盘或其他反馈声音.附带声音或者ap

《iOS Human Interface Guidelines》——Popover

弹出框 弹出框是当人们点击一个控件或屏幕上一个区域时显示的一个临时的界面. API NOTE 在iOS 8及以后的系统中,你可以使用UIPopoverPresentationController来显示一个弹出框.UIPopoverPresentationController定义了一个协议来让你调整你的弹出内容的显示风格去适应当前的显示环境.比如说,在水平常规环境下,你的内容可以在弹出框中显示:在水平紧凑环境下,你的内容可以在一个全屏的模态视图中显示. 一个弹出框: 是一个自包含的模态视图 在水平