《iOS Human Interface Guidelines》——Split View Controller

分栏视图控制器

分栏视图控制器是一个管理两个子视图控制器的展示的全屏视图控制器。

API NOTE

分栏视图控制器的每个子视图都负责一个面板的显示管理。分栏视图控制器自己显示这些子视图控制器并管理不同方向的过渡。查看UISplitViewController Class ReferenceSplit
View Controllers
来学习更多关于在你的代码中定义分栏视图控制器的内容。

在iOS 7及更早的系统中,分啦视图控制器只可以用在iPad上。

默认情况下,一个分栏视图控制器使用当前的尺寸来决定如何安排它的子视图控制器。比如说,一个分栏视图控制器:

  • 尝试在水平常规环境下并排显示两个面板
  • 可以在第二面板的顶部层级显示主面板,或者可以隐藏主面板到屏幕外直到需要的时候再显示,一般来说用在水平紧致环境下

你可以通过要求分栏视图控制器在一个特定的显示环境下优先关注你特定的布局来影响面板的安排。

分栏视图控制器可以包含很大范围的对象和视图,例如:

  • 列表、图片、地图、文本、网页或者自定义的视图
  • 导航栏、工具栏或者标签栏

NOTE

即使主面板经常称为master pane,第二面板经常称为detail pane,这个关系在代码中却并不是强制的。

使用分栏视图控制器来在主面板显示持久信息,在第二面板显示相关的详情或者从属的信息。在这种设计模式下,当人们在主面板选择一个条目后,第二面板应该显示与此条目有关的信息。(你需要在代码中实现这个事件。)

不要创建比主面板狭窄的第二面板。如果主面板比第二面板狭窄,分栏视图控制器就不再能充满屏幕的宽度并且整体外观时不平衡的。

不要同时在两个面板显示导航栏。这样做会让用户非常难识别两个面板的关系。

一般来说,以一种持久的方式表明主面板当前选中的条目。即使第二面板的内容可以更改,它应该总是保持与主面板选中的条目相关。这个查看的经验会帮助人们理解主面板条目和第二面板内容的关系。

合适的话,给人们可替换的方式来获取主面板。默认情况下,在水平紧致环境下只显示第二面板,并且你提供给用户一个按钮(一般放置在导航栏)来显示和隐藏主面板。芬兰视图控制器也支持滑动手势来执行显示/隐藏操作。除非你的app使用滑动手势来执行其他功能,否则你应该让人们通过滑动来获取主面板。

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

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

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

时间: 2024-10-25 17:05:32

《iOS Human Interface Guidelines》——Split View Controller的相关文章

《iOS Human Interface Guidelines》——Container View Controller

容器视图控制器 容器视图控制器管理和展示它的子视图集合--或者子控制器集合--以一种自定义的方式.系统定义的容器视图控制器的例子有标签栏视图控制器.导航栏视图控制器和分栏视图控制器(查看Tab Bar.Navigation Bar和Split View Controller来学习更多关于这些元素的内容). API NOTE 查看UIViewController Class Reference学习关于在你的代码中定义自定义的容器视图控制器的内容. 容器视图控制器没有预定义的外观和行为. 使用容器视

《iOS Human Interface Guidelines》——Page View Controller

页面视图控制器 页面视图控制器使用两种风格中的一种来管理多页面内容间的过渡--滚动或者翻页.这个是iOS模拟器中翻页的样子: API NOTE 查看Page View Controllers来学习更多关于在你的代码中定义页面视图控制器的内容. 一个页面视图控制器: 对滚动风格没有默认外观 对于翻页风格,页面视图控制器可以添加页面间的书脊外观. 根据特定的风格,为页面间的过渡添加动画 对于滚动风格,当前页面滚动到下一页:对于翻页风格,当前页会表现地像书或笔记本的翻页一样. 使用页面视图控制器展示用

《iOS Human Interface Guidelines》——Collection View

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

《iOS Human Interface Guidelines》——Image View

图片视图 图片视图显示一个图片或者一系列的动画图片. API NOTE 查看UIImageView学习更多关于在你的代码中定义图片视图的内容. 一个图片视图: 没有预定义的外观并且默认情况下不允许用户交互 检查图片和其俯视图的属性来决定图片是否应该被拉伸.匹配大小或钉在某个特定的位置上 在iOS 7及之后的系统中,包含模板图片的图片视图会提供当前的基础色给图片. 尽可能地确保一个图片视图内的所有图片有同样的大小并使用同样的拉伸. 如果你的图片有不同的尺寸,图片视图会分开调整它们:如果你的图片使用

《iOS Human Interface Guidelines》——Web View

Web视图 web视图是一个可以显示丰富的HTML内容的区域(如下iPhone上邮件app中导航栏和工具栏中间所显示的). API NOTE 查看UIWebView来学习更多关于在你的代码中定义web视图的内容. 一个web视图: 显示web内容 执行一些对web内容的自动处理,比如将一个电话号码转化成拨打电话 如果你有一个网页或者web app,你可能决定使用web视图来实现一个简单的为你的网页和web app提供外皮的iOS app.如果你计划使用web视图来链接你控制的web内容,一定要阅

《iOS Human Interface Guidelines》——Map View

地图视图 地图视图展示地理数据并支持内置的地图app提供的大部分功能(如下图所示). API NOTE 查看MapKit Framework Reference学习更多关于在你的代码中定义地图视图的内容. 一个地图视图: 使用标准地图数据.卫星图或两者结合来显示地理区域 可以显示标记(标记简单的点)和覆盖物(描绘路径或者平面区域) 支持程序和用户控制的拉伸和拖动 使用地图视图来给用户一个地理区域的交互视图.如果你在开发一个路径app,就使用地图视图来显示用户的路线(查看Routing来获取更多创

《iOS Human Interface Guidelines》——Social Media

社交媒体 人们期待无论他们当前在什么环境下都可以链接到他们最喜欢的社交媒体账户.iOS使以人们赞赏的方式整合社交媒体的交互到你的app中变得简单. NOTE 当用户点击动作按钮时,他们会获取到一个类似这里展示的活动视图控制器.查看Activity View Controller学习更多关于这个视图控制器的内容. 活动视图控制器列表的中间行显示了用户允许的分享app扩展以及系统提供的分享服务.查看Share and Action Extensions学习更多关于设计分享扩展的内容. 考虑给予用户一

《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》——Popover

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