IOS8中iPad的ios 弹出模态视图图能够改变大小么

Im刘亚芳 的BLOG
用户名:Im刘亚芳
文章数:175
访问量:18803
注册日期:
阅读量:24883
阅读量:964981
阅读量:204913
阅读量:132005
51CTO推荐博文
子view添加到有controller的父view时,在点击子view中的什么东西时,如果要调用父view的controller导航push到一个新viewController,那么直接用下面的代码就可以了(本人也遇到这个问题,以下代码在IOS7和IOS6.1上都亲测通过)
//获取view的controller
-&(UIViewController&*)viewController
&&&&for&(UIView*&next&=&[self&superview];&&next&=&next.superview)&{
&&&&&&&&UIResponder&*nextResponder&=&[next&nextResponder];
&&&&&&&&if&([nextResponder&isKindOfClass:[UIViewController&class]])&{
&&&&&&&&&&&&return&(UIViewController&*)nextR
&&&&return&
//点击提交按钮
-(void)buttonPress
&&&&ElectronController&*ec=[[ElectronController&alloc]init];
&&&&[[self&viewController].navigationController&pushViewController:&ec&animated:YES];
&&&&[ec&release];
}-(void)buttonDown:(id)sender{
&&&&ViewTwo&*two&=&[[ViewTwo&alloc]init];
&&&&two.delegate&=&
&&&&two.modalPresentationStyle=UIModalPresentationFullS
&&&&two.modalTransitionStyle&=&UIModalTransitionStyleFlipH//弹出时的动画风格&对弹出目标页面设置
&&&&[self&presentModalViewController:two&animated:YES];
//[self&presentModalViewController:infoViewController&animated:YES];//备注1
[self&presentViewController:infoViewController&animated:YES&completion:^{//备注2
NSLog(@"show&InfoView!");
//presentedViewController
NSLog(@"self.presentedViewController=%@",self.presentedViewController);//备注3
//备注1、备注2:备注中的方法已经废弃,被备注2中的presentViewController代替;参数completion实现一个回调,当MainViewController的viewDidDisappear调用之后,该回调会被调用。&
备注3:在MainViewController中调用self.presentedViewController,返回的是由MainViewController&present出的视图控制器,以上是代码实例 下面是网上抄来无聊时看看的,补充补充的一、主要用途  弹出模态ViewController是IOS变成中很有用的一个技术,UIKit提供的一些专门用于模态显示的ViewController,如UIImagePickerController等。弹出模态ViewController主要使用于一下这几种情形:  1、收集用户输入信息  2、临时呈现一些内容  3、临时改变工作模式  4、相应设备方向变化(用于针对不同方向分别是想两个ViewController的情况)  5、显示一个新的view层级  这几种情形都会暂时中断程序正常的执行流程,主要作用是收集或者显示一些信息。二、几个概念和常用设置1、presenting view controller Vs presented view controller  当我们在view controller A中模态显示view controller B的时候,A就充当presenting view controller(弹出VC),而B就是presented view controller(被弹出VC)。官方文档建议这两者之间通过delegate实现交互,如果使用过UIImagePickerController从系统相册选取照片或者拍照,我们可以发现imagePickerController和弹出它的VC之间就是通过UIImagePickerControllerDelegate实现交互的。因此我们在实际应用用,最好也遵守这个原则,在被弹出的VC中定义delegate,然后在弹出VC中实现该代理,这样就可以比较方便的实现两者之间的交互。2、Modal Presentation Styles(弹出风格)  通过设置presenting VC的modalPresentationStyle属性,我们可以设置弹出View Controller时的风格,有以下四种风格,其定义如下:typedef&enum&{
&&&&UIModalPresentationFullScreen&=&0,
&&&&UIModalPresentationPageSheet,
&&&&UIModalPresentationFormSheet,
&&&&UIModalPresentationCurrentContext,
}&UIModalPresentationS  UIModalPresentationFullScreen代表弹出VC时,presented VC充满全屏,如果弹出VC的wantsFullScreenLayout设置为YES的,则会填充到状态栏下边,否则不会填充到状态栏之下。  UIModalPresentationPageSheet代表弹出是弹出VC时,presented VC的高度和当前屏幕高度相同,宽度和竖屏模式下屏幕宽度相同,剩余未覆盖区域将会变暗并阻止用户点击,这种弹出模式下,竖屏时跟UIModalPresentationFullScreen的效果一样,横屏时候两边则会留下变暗的区域。  UIModalPresentationFormSheet这种模式下,presented VC的高度和宽度均会小于屏幕尺寸,presented VC居中显示,四周留下变暗区域。  UIModalPresentationCurrentContext这种模式下,presented VC的弹出方式和presenting VC的父VC的方式相同。  这四种方式在iPad上面统统有效,但在iPhone和iPod touch上面系统始终已UIModalPresentationFullScreen模式显示presented VC。3、Modal Transition Style(弹出时的动画风格)  通过设置设置presenting VC的modalTransitionStyle属性,我们可以设置弹出presented VC时场景切换动画的风格,其定义如下:typedef&enum&{
&&&&&&&&UIModalTransitionStyleCoverVertical&=&0,
&&&&&&&&UIModalTransitionStyleFlipHorizontal,
&&&&&&&&UIModalTransitionStyleCrossDissolve,
&&&&&&&&UIModalTransitionStylePartialCurl,
}&UIModalTransitionS  我们可以看到有从底部滑入,水平翻转进入,交叉溶解以及翻页这四种风格可选。这四种风格在不受设备的限制,即不管是iPhone还是iPad都会根据我们指定的风格显示转场效果。4、Dismiss Modal ViewController(消失弹出的VC)  消失presented VC,我们可以通过调用以下两个函数中的任何一个来完成dismissModalViewControllerAnimated:&&&&&&&&&&&&&&&&&//&将要废弃,不赞成继续使用dismissViewControllerAnimated:completion:本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)专业的QQ下载站 本站非腾讯QQ官方网站
官方网址:
iPad mini2升级更新ios8固件下载iPad4,4_8.0_12A365
软件大小:7.42G
软件语言:中文
更新时间:
软件类别:免费/ipad软件
软件性质:手机软件
软件厂商:
运行环境:IOS
软件等级:
本类热门软件
软件简介软件截图相关软件相关文章
1、将iOS设备连接电脑,打开PP(Win)版。在设备简介直接点击【备份】(或者在工具箱--iTunes备份创建备份)。(PS.PP助手可以备份iOS设备以下内容:通讯录、通话记录 、短信日历、备忘录、相机胶卷。)2、点击“备份”之后在新的提示窗口中选择是。3、好备份路径点击开始备份(如有锁屏密码请先取消锁屏密码再进行备份)(增量备份:原来的备份上继续备份,这个可以看是否是同一部设备的备份来自行选择操作)iPad 4th升级更新IOS8教程:通过iTunes升级/恢复注意事项:①、通过iTunes恢复固件会导致清空iOS设备上所有的资料,建议先备份好重要资料。②、已经越狱iPhone \ iPad \ iTouch使用iTunes升级 \ 恢复会可能报未知错误,请放心!iPhone \ iPad \ iTouch升级 \ 恢复失败会自动进入恢复模式,请连接iTunes再恢复iOS 8.0固件一次就可以。详细步骤:1、通过上面的地址下载IOS8&iPad mini Retina固件2、将iPhone \ iPad \ iTouch连接电脑打开iTunes3、按住键盘上Shift(上档键)+鼠标左键点击iTunes的更新 \ 恢复功能4.iTunes会弹出对话窗--请选择已经下载好的固件--点击更新--等待iTunes运行。5.&成功升级 \ 恢复iOS 8后需要先激活设备才可以正常使用!(请系统提示步骤完成)
iPad mini是苹果iPad系列产品中一款小尺寸的平板电脑。搭载IOS系统,配置Retina 显示屏。由于iPad设备可升级IOS8系统的型号较多,所以iPad mini用户在升级的适合,一定要下载对应版本型号固件。
iPad mini用户可以通
更新:14-09-21&&大小:5.56G&&类别:ipad软件
评分:10.0
iPad4于12年12月份发布,配备了Retina显示屏,支持WiFi联网和4G网络模式,升级IOS8系统问题不大。此次支持升级ios8新系统的iPad4对应版本型号为iPad 4th Wi-Fi产品型号:A1458、iPad 4th 产品型号:A1459、iPa
更新:14-09-21&&大小:6.80G&&类别:ipad软件
评分:10.0
the new iPad作为iPad系列产品中的第三代就是我们常说的iPad3。此次the new iPad(iPad3)升级IOS8新系统。一共分为the new iPad、the new iPad&WiFi版、the new iPad&CDMA版三个版本,型
更新:14-09-21&&大小:7.39G&&类别:ipad软件
评分:10.0
iPad2升级ios8固件型号可用于iPad2 Wi-Fi产品型号为A1395、A1396/CDMA产品型号:A1397、Wi-Fi rev_a 新制程版的iPad设备升级。对应固件型号为iPad2,1_8.0_12A365。一共支持4个版本型号的iPad升级。本次ios8系统更新升
更新:14-09-21&&大小:6.47G&&类别:ipad软件
评分:10.0
iPod Touch5升级ios8固件其对应型号版本为iPod5,1_8.0_12A365,iPod Touch5是唯一一款可升级IOS8的iPod Touch设备。iPod Touch支持Siri、iMessage、App 和游戏、电子邮件和互联网等功能,500万像素iSight摄像头和Fac
更新:14-09-21&&大小:1.65G&&类别:手机软件
评分:10.0
魔域将于9月25日开启内测,提前为大家准备了体验女神觉醒的游戏,领取特权礼包,即可获得2次抽奖机会,更多抽奖机会以及奖品请看本文详情。活动时间:女神沉睡篇:日0时0分―日23时59分女神觉
此前不久美国Target宣布,将特卖一批iPad mini 2平板电脑。通常Target出售的iPad mini 2平板电脑售价为299美元,现在Target一口气降价100美元,现在只要199美元。
但是,这批iPad mini 2平板电脑不会在Target官网出
2014巴西世界杯盛大开幕了,腾讯微博特别推出“世界杯微博助威团”活动,猜比赛结果,获抽奖机会,8888Q币等你来拿,赶紧来选择支持的球队吧。&
活动地址:http://2014./
抽奖规则说明:
天天酷跑帅气的糖白虎在小伙伴们千呼万唤下登场啦~ 外形霸气,属性超强的它是不是让你一见倾心呢?让我们先来看看它都有什么技能吧!
任意特殊关卡中都能获得4倍得分;
开局冲刺700米;
世界杯马上就要开始了,天天酷跑助威世界杯首次充值送钻石,充值返利等一系列的充值活动再次开启,究竟充还是不充就需要玩家们自行决断了,以下是本次充值活动介绍:
活动名称:首充双倍活动&
活动时间:6月1
正式版系统现在全面开放更新,苹果用户可以下载固件进行升级。正式版系统支持以上以上所有设备升级。腾牛网固件下载大全专区,为用户提供所有可升级设备固件下载。用户可以直接点击进行高速下载,并且提供对应设备升级
苹果官方与11月18日凌晨正式开放iOS8.1.1正式版更新升级。此次更新对于iPhone4S和iPad
iOS8.1.1系统版本修复版本所有错误bug,对老一代的iPhone4s等设备进行优化。iPhone5升
iPhone5C升级iOS8.1.1正式版固件,5C用户可以使用OTA直接升级或是使用iTunes升级。使用
iOS8.1.1正式开放更新,此次相比之前iOS8版本,更新修复的内容极少。iOS8.1基本已经处
iPhone6/iPhone6 Plus升级iOS8.1.1正式版固件对应型号iPhone7.2[iPhone6]/iPhone7,1[i
iOS8.1.1正式版开放更新,此次版本专门针对iPhone4S和iPad2进行优化。作为iPad2用户,
iPad mini2升级更新ios8固件下载 iPad4
其他版本下载
《我的世界故事模式》ios版发布,支持iPhon盘古ios9越狱工具本次支持ios 9.0-9.02系统柚子游戏是一款电脑玩手游软件,其主要将功爱思助手全新升级,5.0新版界面重新布局,更XY苹果助手是IOS系统平台助手,手机设备瘦身使命召唤OL盒子,我们简称它为CODOL盒子。本微信 for iPhone 全新发布,微信,超过3亿人iTunes是苹果公司最热门音乐软件的最新版本海马玩模拟器英文名Droid4X,是一款在电脑上小咖秀iPhone版是一款最近超级流行的搞笑对
本类月下载排行
12345678910您的位置: && &&IOS8美化软件合集
IOS8美化软件 简介
相信很多朋友讲自己的ios设备升级到IOS8后,想将自己是设备都美化一番吧?网侠小编为大家带来IOS8美化专题,该专题中中包含了IOS8美化插件下载、IO8美化软件下载、IOS8美化插件推荐、IOS8美化教程等相关内容~
大小: 17MB&& 15:46:00
美化照片墙ios手机版app是一款快速制作iPhone QQ个性照片墙的应用软件。想要自己的QQ墙更加炫
大小: 93KB&& 20:39:00
DathBanners Pro插件是一款针对 iOS8 系统通知横幅的美化插件,相比之前的 Lite 版
大小: 555KB&& 11:17:00
apple watch美化插件是一款最近火爆的apple watch上的美化插件,该插件可以让你的app
大小: 170KB&& 17:34:00
ColorBadges iOS8插件是一款系统程序角标美化,跟随程序图标颜色而改变可用、兼容IOS8 6
大小: 261KB&& 10:54:00
iOS8美化插件 SleekCode是一款iOS主题美化插件,这款插件可以选择隐藏按键框或者不隐藏,适用
大小: 224KB&& 19:14:00
MagicColors插件是一款系统美化插件,可以对自定义锁屏和 SpringBoard 上的许多元素进
大小: 168KB&& 9:54:00
iOS8状态栏美化插件 BlurBar是一款允许用户在设置里选择状态栏大小、模糊程度、不透明度调节、更换
大小: 176KB&& 17:09:00
LockGlyph iOS8插件是一款可以使你设备的解锁效果成Apple Pay那个指纹读取效果插件,只
大小: 624KB&& 17:25:00
Springtomize 3 iOS8插件是一款功能最全最强大的SpringBoard修改插件,在iOS
大小: 622KB&& 11:07:00
Cydget iOS8插件是一款美化锁屏界面的强大插件,由Cydia之父Jay Freeman (sau
大小: 80KB&& 10:28:00
RoundDock iOS8插件是一款dock栏美化插件,可以把dock栏上的方块边角变成圆形,说不定处
大小: 347KB&& 9:24:00
iWidgets iOS8插件是一款iOS系统桌面插件,可以为你的桌面自定义设置更多选项,提供更加个性化
大小: 141KB&& 16:45:00
DockShift iOS8插件是一款可自定义Dock栏透明效果的插件,除了全透明,DockShift同
大小: 158KB&& 14:24:00
Pyx iOS8插件是一款可以可以改变您的后台呼出时动画效果的插件。默认状态下呼出后台,app以卡片缩小
大小: 129KB&& 14:40:00
iOS8拨号界面美化插件 SleekPhone是一款越狱系统拨号界面美化插件,安装该插件后,用户可以根据
大小: 152KB&& 10:40:00
iOS8应用角标美化插件 Badge Customizer是一款应用程序角标美化插件,可以修改应用程序角
大小: 121KB&& 9:54:00
iOS8程序卸载抖动状态下的删除角标美化插件 AppColorClose是一款可以美化插件,可以修改程序
大小: 697KB&& 15:33:00
iOS8主题美化插件 WinterBoard是一款主题美化工具插件,可以自由的更换图标、背景、实现动态壁
大小: 14MB&& 11:49:00
iOS电池美化插件Alkaline素材包,是iOS电池美化插件Alkaline的相关主题素材合集,给大家
大小: 272KB&& 11:44:00
iOS8电池美化插件Alkaline是一款电池美化插件,可以修改电池图标,现在最新的iOS8越狱系统已经
大小: 251KB&& 15:28:00
《Circlet》是一款适用于IOS7的状态栏美化插件,可以很方便地为您带来一个漂亮的状态栏。Circl
大小: 8MB&& 10:05:00
苹果ios6.1.4桌面美化包 锁屏+状态栏+面板+电池各种美化包,各种文件使用方法已放在附件中,网侠小
大小: 10MB&& 8:35:00
《iPhone方正中倩体》方正中倩体是一款比较卡通粗写的问题,该文字非常圆润平滑,现在这款字体搭载到了i
大小: 50MB&& 9:48:00
苹果iphone5s美化主题包(附工具 更改主题锁屏/图标/字体)安装完毕后,界面非常的漂亮哦,大家可以
大小: 6MB&& 16:21:00
大飞iphone一键美化工具是一款IOS图标美化工具,可对你的手机进行一键式的个性美化,想让你的手机与众
大小: 297KB&& 15:43:00
非常漂亮个性键盘锁,以及透明提示。
请在系统文件里面找到System/Library/CoreServ
大小: 6MB&& 9:31:00
这个不需要借助任何插件,疑问比较喜欢的磨砂半透明,还有各种透明度可供选择。
路径:/System/Li
大小: 900KB&& 17:24:00
大家对自己的手机短信泡泡有厌倦感没?现在网侠小编就收集整理多种颜色的短信泡泡分享给大家,希望你能喜欢!
大小: 20MB&& 8:59:00
想把你的苹果iphone5手机越狱后更加美化一下么?现在小编就整理了一套美化实例,分享给大家,具体详情看
大小: 211KB&& 12:00:00
充电图标,电池图标,滑块图标,信号图标,闹钟图标等素材打包,非常漂亮,也非常值得收集。iphone4手机每个活动菜单表示一个系统提供的服务或定制服务——它可以通过访问活动视图控制器(Activity view controller)来作用于某些特定的内容。
想要了解如何在代码中定义标签栏,请参考.
想要了解如何把一个活动视图控制器添加到应用程序中,请参考.
行动和共享的扩展也在活动视图控制器中显示。要了解关于这些扩展更多的信息,请参考.
活动菜单:
是指一种代表当前应用所支持服务的对象。
由一种类似于按钮的图标来表示。
用户通常通过点击控制器中的活动图标来启动某样活动。点击之后该项服务通常会立刻执行,除非这项服务过于复杂,此时系统将会进一步索取更多的信息之后才会为用户执行该服务。
使用活动菜单来让用户执行你的应用所提供的服务。请注意,iOS 本身提供了若干内置的服务和应用扩展,如打印,转发到 Twitter,发送信息和 Airplay 等等,你不需要再另外创建它们。
为你应用的各种服务设计一套精简的模版图标(Template image)。模板是 iOS 使用的一种形象,来创建最后用户看到的图标。如果想制作出好看的模版图标,设计的时候可以遵循以下原则:
使用透明度适当的黑色或白色
不要使用阴影
进行抗锯齿处理
一个活动模版图大小应该保持在70×70像素左右(高分辨率下),在区域里居中显示。
为每一个活动菜单设计清晰简练的文字标题。标题将会出现在活动菜单图标的下方。短标题通常效果最好,因为它在屏幕上的显示效果更好并且更容易本地化。如果你的标题文字过长,iOS会将缩小文本,仍然过长的话则会被截断。一般而言,最好能避免在活动标题中提及你的公司或产品名称。
活动视图控制器
活动视图控制器是一个临时视图,当中罗列了一系列可以针对页面特定内容的系统服务和自定义服务。
想要了解如何在代码中定义活动视图控制器,请参考.想要知道怎么设计一个提供用户服务的活动菜单,请参考.
活动视图控制器:
显示一个可配置的任务列表,用户可以执行指定的内容
可以根据环境发出某一个动作
使用活动视图控制器来为用户提供一系列针对当前内容的服务。这些服务可以是系统自带的,比如复制,分享到twitter,打印等等,也可以是自定义的。活动视图控制器通常用作让用户把他们选中的内容复制到他们的社交媒体账户上。
不要创建一个自定义按钮来触发活动视图控制器。用户更习惯点击分享按钮后使用系统提供的服务。你应该学会如何更好地利用用户这一既定习惯,而不是强迫他们以一种全新的方式来完成同样的事情。
确保控制器中的操作适用于当前场景。你可以适当地在活动视图控制器中增减系统操作,或增加自定义操作。例如,如果你不希望用户打印某张图片,你可以把打印功能从活动视图控制器中删除。
你不能改变系统默认服务在活动图像控制器中的顺序。同时,所有系统服务都应出现在自定义服务之前。
集合视图用于管理一系列有序的项,并以一种自定义的布局来呈现它们。
想要了解如何在代码中定义集合视图,请参考.
可以包含可选视图视觉上区分的项目子集或提供装饰用品,如自定义背景
支持布局之间的自定义动画的过渡 (默认情况下,当用户插入、 移动或删除的项目集合视图提供动画)
支持手势识别器来执行自定义操作的加法。默认情况下,集合视图可选择和编辑相关项目。
使用集合视图来让用户查看和操作一系列不适合以列表形式呈现的项。由于集合视图的布局不是一个严格的线性布局,因此尤其适合用来展示一些尺寸不一致的项。
集合视图支持广泛的自定义,因此我们要尽量避免把心思都放在进行全新的设计上。集合视图是用来帮助用户更好地完成任务的,视图本身并不是用户体验的焦点所在。以下指导会帮你创建人们喜爱的集合视图。
可以使用表格视图(Table View)的时候,不要使用集合视图。有时候用户会觉得以列表呈现的信息更容易阅读和理解,例如将文本信息放在滚动列表中滚动列表中的时候,用户阅读和处理起来会更为简单和高效。
让视图中的项更容易点击。如果用户很难点中集合视图中的项,他们是不会愿意用你的应用的。跟所有用户可以点击的UI对象一样,请确保你的集合视图中每一个项的最小点击区域有44×44pt,尤其是在iPhone上。
当你要让整个布局进行动态变化时,请务必谨慎。集合视图允许你在用户浏览和操作项的时候调整视图的布局。但当你决定调整它的时候,请确保这个动态变化是有意义并且容易理解的。没有明确目的而贸然改变集合视图的布局会让用户对应用留下难用、不符合预期等负面的印象。更有甚者,如果用户此时关注的项在变化中消失了,用户会觉得这个应用超出了他们的控制能力。
容器视图控制器
容器视图控制器采用自定义的方式来管理和呈现它的视图控制器或一系列子视图。系统定义的容器视图控制器包括标签栏视图控制器()、导航视图控制器()和对分视图控制器().
想要了解如何在代码中定义容器视图控制器,请参考
容器视图控制器不存在任何预先定义好的外观或者行为。
如果你在自定义容器视图控制器对象的时候把 UIViewController 归为子类,你可以自己规定它里头应该包含多少子类,以及它们将如何展现出来。
先问问你自己是不是必须用到容器视图控制器。用户会更习惯诸如对分视图、或者是标签栏视图这类他们所熟知的东西。你必须确保你设计的控制器的优点不会由于用户不熟悉、不认识、不会用而白费功夫。
确保你的容器内容控制器在横屏与竖屏模式都可用。你的容器视图控制器无论在横屏还是竖屏中,体验都应该是一致的。
一般来说,避免太过花哨的转场动画。如果你采用了故事板(storyboard)的设计方法来设计你的视图内容控制器,你往往自然而然地会为它自定义一些动画。但绝大多数情况下,这些花哨的转场动画会让用户分心,让他们忘记了当前要做的事,还可能降低你的应用整体的美感。
图片视图用以展示一张单独的图片,或者一系列动态图片。
想要了解如何在代码中定义图片视图,请参考.
图片视图不存在任何预先定义好的外观,同时在默认状态下它不支持用户的交互行为。
图片视图可以检测图片本身及其父视图(parent view)的属性,并决定这个图片是否应该被拉伸、缩放、调整到适合屏幕的大小,或者固定在一个特定的位置。
在 iOS 7里,包含了模版图片(template image)的图片视图会把当前的色调(tint color)应用到图片上。
请务必确保图片视图中的每一张图片都保持相同的尺寸和比例。如果你的图片尺寸各不相同,图片视图将会逐一对它们进行调整;而当你的图片比例不一,渲染的时候很可能会出错。
地图视图呈现地理数据,同时支持系统内置地图应用的大部分功能(如下图所示)。
想要了解如何在代码中定义地图视图,请参考.
地图视图通常以标准地图、卫星图像、或两者结合的形式来展示地理区域。
地图样式还会标注单一的地点(annotations),描绘路径和二维区域的轮廓。
用户可以缩放和移动地图视图——除非你在应用中禁用了这些动作——你也可以在编程时自定义地图视图的缩放和移动。
利用地图视图可以给用户提供一个可交互的地理区域视图。如果你在开发一个导航类应用(routing app),可以使用地图视图来展示你给用户的路径。
一般来说,允许用户在视图中进行交互行为。用户习惯了在系统内置地图中进行交互,因此他们会有预期,能在你所提供的地图中进行类似的行为。
使用标准的地图标注颜色。地图上标注了一系列地点。因为用户习惯了内置地图的各个标注的颜色,所以最好避免在你的应用中重新定义这些颜色的含义。定义颜色时,请遵循以下这些标准:
红色——表示目的地
绿色——表示起点
紫色——表示用户指定的地点(User-Specified Point)
页面视图控制器
页面视图控制器通过滚动(Scrolling)或翻页 (Page-curl transition style)来处理长度超过一页的内容。
想要了解如何在代码中定义页面视图控制器,请参考.
页面视图控制器:
带滚动条的页面视图控制器没有默认的外观
带翻页效果的控制器可以在两页中间增加书脊(book spine)的效果——当用户翻页时,它看起来就像一本真实的书在翻页一样。
页面内容控制器可以根据指定的切换效果来模拟出页面切换时的动画。
使用滚动条效果的时候,当前页面将滚动到下一页;而使用翻页效果时,页面上会出现一个模拟实体书或笔记本翻页效果的翻页动画。
使用页面视图控制器来展示那些线性的内容——例如一个故事的文本,或者是一些可以被自然地拆分成块的内容——比如说,日历。
如果需要,可以创建一个让用户实现非线性跳页的方式。页面视图控制器让用户从一页移动到前一页或者后一页,而并不支持用户在并不相邻的页面间快速切换。如果你希望在页面视图控制器中展示一些非线性的内容——比如说字典,或者书籍的目录——那么你就需要自定义一种方式,让用户可以随意地到达不同的内容区块。
弹出框就是一个当你点击某一按钮在屏幕上出现的瞬态区域。
在 ios8 和后续版本中,你可以使用来呈现出弹出框(popover)。UIPopoverPresentationController定义一个代表让你的popover的内容可以适配当先屏幕环境。举个例子,在通常的水平环境下,你的内容可以在popover中滚动显示;而在水平紧凑环境下,你的内容可以完全呈现在屏幕上。
是一个独立的模态视图
在水平正常的环境下,有一个箭头指向它的来源
具有半透明背景,可以模糊背景内容
可以包含各种对象和视图,例如:
输出表,图像,地图,文本,网页,或自定义视图
导航栏,工具栏,或标签栏
控件或对象在当前的应用程序视图对物体的行为
(默认情况下,表观,在弹出的导航栏和工具栏,使用透明背景让弹出的模糊显示通过。)
在一个水平正常的环境下,popover 总是出现在一个弹出菜单中。
使用弹出显示附加信息或一系列的选定对象相关的项目。
本节中的指南包括界面和用户是在一个水平正常的环境中显示的用户体验。如果你提出的 popover 是在水平紧凑的环境是全屏显示的,看的指导原则,其他全屏幕模式视图模型视图。
避免提供“取消”按钮。当用户不希望继续浏览popover时,它应该自动关闭。确定了当一个popover需要关闭时,考虑下面的情况:
如果弹出框…
提供的选项影响了主菜单,却不执行检查
只要当用户做出选择或是点击弹出框外的任意空白处,就马上关闭弹出框以及与弹出框有关的控件部分。
当用户点击弹出框外的任意空白处,就马上关闭弹出框以及与弹出框有关的控件部分。这种情况下,不要当用户做出选择就马上关闭它,因为用户可能想做出其他选择或者改变现在选择的属性。
完成一项任务
当用户通过点击弹出框中的按钮(例如“Done”“Cancel”)来完成或取消一个任务时,关闭弹出框。这种情况下,当用户点击框外的时候可能不希望关闭它,因为它可能对于用户完成或准确的删除某项任务是十分重要的。否则,当用户点击框外区域的时候保存他们的输入内容,就像他们点击了Done一样。
一般来说,当用户点击 popover 的外边界时,尽可能减少他们的工作。不是所有人都需要一个“取消”按钮,你的取消按钮可能会给他们带来误会。如果用户点击“取消”按钮,那意味着要删除刚刚完成过的工作。
使 popover 箭头尽可能直接的元素,显示它。这样做可以帮助人们记住弹出来自什么任务或对象的关联。
确保人们在看一个 popover 的时候是看不到它背后的应用程序内容的。Popover 要遮挡住它后方的显示内容,而且不能通过拖拽来移动它的位置。
确保同一时间在屏幕上只显示一个 popover。你不应该在同一时间显示多个popover(或自定义视图的设计看起来像一个popover)。特别是你要避免让一个 popover 中出现另一个 popover。
不要在 popover 的顶部显示一个弹出模态视图。除了一个警报,什么都不应该在popover中出现。
如果可能的话,让人们可以在关闭一个 popover 的同时打开另一个 popover。这种行为是特别合适在几种不同的栏按钮都需打开一个 popover时的,因为它让用户不用点击很多次。
别让 popover 过大了。popover 不应该占满整个屏幕。相反,它应该是足够大,以显示其内容,还指出它来自的地方。popover 弹出的高度是不受约束的,所以你可以用它来显示一个很长的清单。但似乎一般来说,你应该尽量避免在一个弹出菜单,使任务滚动。注意,系统应该可以调整popover的宽度和高度以确保它适合在屏幕上显示。
在 popover 中使用标准UI控制器和视图。通常来说,当 popover 包含标准控制器和视图时,看上去舒服是用户最简单的理解。
确保自定义 popover 看上去也是一个普通的弹出框。虽然我们可以用[UIPopoverBackgroundView APIs]()很轻易地自定义 popover 的可视化效果,但还是要避免做出人们难以辨别的 popover。如果你把 popover 的样子改动过多,用户就不能以他们的经验来理解 popover 在应用程序中的作用了。
如果你修改了 popover 的尺寸那一定要小心。如果你用 popover 同时显示内容和内容的扩展时,你可能希望改变 popover 的尺寸。当你适配了 popover 的尺寸时,它也许是个不错的创新,因为它避免了一个新的 popover 在上一个 popover 中出现。
滚动视图方便用户浏览尺寸超越滚动视图边界的图片(下图中地球的图片无论是长度还是宽度都超过了)。
想要了解如何在代码中定义滚动视图,请参考。
滚动视图没有预定义的外观。
滚动视图刚出现或者当用户在对它进行操作的时候——纵向和横向的滚动指示器会短暂地闪烁,以提示用户在当前视图外仍有更多内容。
滚动视图的响应速度和对各个操作手势的识别都应当让用户感到自然。当用户在视图中拖拽内容,内容随之滚动;当用户轻扫屏幕时,内容将快速滚动——直到用户再次触摸屏幕或内容已经到达底部时停止。滚动视图同样可以应用在页模式(paging mode)中,在此模式下用户可以通过拖拽和轻击等手势来浏览一页的内容。
你可以使用滚动视图来允许用户在固定的空间内浏览大尺寸或大量的视图。因为在iOS中用户常常会用到滚动视图,所以请确保你的应用中滚动视图的操作与他们的预期相同。
适当地支持缩放操作。如果放大和缩小对于当前内容是有用的话,你可以支持用户通过捏或者双击来对当前视图进行缩放。而若是支持了缩放操作的话,你还应当设定在当前情景下允许缩放的最大值和最小值。如果你允许一个字符被放大到充满整个屏幕的话,用户会很难阅读当前内容。
在页模式滚动视图中,可以考虑使用页面控件(page control)。当你想要展示分页、分屏或者分块的内容,最好是让用户知道当前内容一共有多少块,以及他们当前浏览的是第几个——页面控件以圆点的形式来把这个信息告诉用户。同时由于页面控件被广泛用于Safari,股票,天气以及其它系统内置应用中,用户很容易理解它的用途。
当你在滚动视图中使用页面控件的时候,最好禁用同一方向的滚动指示器(scroll indicator)。这样一来用户就有了一种唯一且清晰的方式来浏览当前内容。想要了解更多请参考Page Control.
一般来说,一次只展示一个滚动视图。如果在一屏中同时存在不止一个滚动视图,由于用户滚动屏幕时动作幅度经常都会很大,他们很容易会碰到另一个。如果你确实要在同屏中放两个滚动视图,可以考虑给他们设定不同的滚动方向,来避免用户想要滚动一个视图的时候误操作。比如iPhone上的股票应用,纵向滚动上半部分会展示股票报价,横向滚动下半部分时则展示该公司的特定信息。
分离视图控制器
分离视图控制器是一个全屏的视图控制器,它管理着两级视图。
每个子视图控制器负责管理一个窗格的显示。拆分视图控制器本身提出了这些子视图控制器和管理过渡之间的不同取向的转变。要了解更多关于在你的代码中定义一个拆分视图控制器的内容,请参考 和 .
在 ios7 和更早的系统中,分离视图控制器只用在 ipad 上。
通常,分离视图控制器使用尺寸类别来安排子视图控制器。例如,分离视图控制器:
试图在普通环境下显示窗格水平排列
可以在顶部的次要窗格层状主窗格中显示,或隐藏在主窗格中,在需要时显示。它通常在一个水平紧凑的环境。
你可以通过拆分视图控制器修改优先布局,更加关注需要特别显示的内容。
分离视图控制器可以包含很多的内容和视图,例如:
表,图片,地图,文字,网络,或自定义视图
导航栏,工具栏,标签栏
尽管前一个显示的窗格常被称为是主窗格,第二个显示的被称为次窗格,但这种关系在代码中并不强制要求。
使用拆分视图控制器在主窗格中显示持续性的信息和相关细节,或在二级窗格显示下属信息。在这种设计模式,当人们选择在主窗格中的一个项目,第二面板应显示与该项目相关的信息。(你要在代码中实现)
避免显示的二次窗格,比原窗窄。如果次级窗格是比主窗格窄,拆分视图控制器便不再充满屏幕,这和整体的外观是不平衡的。
避免在两次窗口中都出现导航栏。这样做会让用户很难区分这两级窗口的关系。
通常,让当前的选择在主窗口中长时间显示。尽管第二窗格的内容是可以改变的,它应始终与保持在主窗格中选定的项目有关。这样的观看体验,帮人们了解在主窗格中的项之间的关系和二次窗格的内容。
如果合适的话,给用户一个可选择的方式来访问主窗格中。通常,只有次级窗格在水平紧凑的环境中显示时,为用户提供一个按钮(通常位于一个导航栏)来显示和隐藏主窗格。拆分视图控制器还支持滑动手势进行显示/隐藏行动。如果你的应用程序使用滑动手势来执行其他功能,你应该让人们点击访问主窗格。
表格视图以单列多行的形式来展示数据。
想要了解如何在代码中定义表格视图,请参考以及.
表格视图中的数据是以单列的方式展示的,因此也很容易将它们分段或者分组。
提供一个控制钮让用户可以添加、移除列,选择几个列,看到有关列项目的更多信息,或者显示另一个表格视图。
iOS 定义了两种表格样式:
平铺型(Plain)表格可被分为若干带标签的段落,表格右侧可能会出现垂直的表格索引。每行开头可以有页眉,尾部可以有页脚(也可以没有)。
分组型(Grouped)中至少含有一组列表,而每一组中至少包含一项内容。分组可以有页眉和页脚。与平铺型不同,分组型表格没有索引。
在这两种风格中,当用户点击一个可选择的项目时,表格行高亮显示。如果选择了一个行,跳转到一个新的屏幕,被选的行高亮显示作为新屏幕的出现提示。当用户返回前一个屏幕时,最初选定的行,再变成高亮,简要地提醒用户这是之前选择的内容。(这并不突出)。
iOS 提供了若干表格视图元素(table-view elements)来扩展表格视图的功能。除了特别标明外,这些元素只适用于表格视图。
指示这行被选中。
显示另一个与这行相关的表。
细节提示按钮
在新视图中显示与这行有关的更多细节(了解如何运用这个元素,查看)
指示该行可以在表中被拖拽到其他位置。
给表加一个新的行。
删除按钮控件
在编辑状态下,显示和隐藏删除一行”按钮。
除了以上表格中列举的元素外,iOS定义了刷新控件,让用户可以刷新当前的表格内容。想要了解更多关于刷新控件的用法,可以参考.
iOS定义了在平铺型表格和分组型表格中最常用到的四种单元格布局样式。每种单元格样式都有最适合展示的信息类型。
从编程角度来说,这些样式应用于单元格中,用以控制表格里每一列的绘制方式。
默认型(Default)()
默认型样式包括左侧的图标(可选),和图标右边左对齐的文字标题。
默认型样式适合展示一系列无须通过附加信息便可以区分的项。
副标题型(Subtitled)()
副标题型包括左侧图标(可选),图标右边左对齐展示的文字标题,以及在标题下方同样左对齐展示的副标题。
左对齐的文本标签让用户可以更快速地扫视表格。这种样式适用于列表各项较为相似的情况,用户可以通过副标题中的详细信息来区分列表中的各项。
Value 1 ()
在Value 1样式下,标题左对齐,副标题用较细的字体右对齐。
Value 2 ()
在Value 2样式里,蓝色标题右对齐,副标题左对齐,混排在同一行中。这种样式通常不包含图片。
Value 2的布局中,文本和副标题中间的垂直间距会让用户专注于副标题的第一个单词。
以上四种单元格样式均支持添加表格视图元素,如勾选或展开标志。添加这些元素会缩小标题以及副标题单元格的可用宽度。
使用表格视图可以简洁而高效地展示少量或者大量信息。举例来说,你可以通过表格视图来:
展示用户可选的选项列表。你可以使用选中标记来告知用户当前选中了哪些项。
展示层级信息。平铺型表格样式非常适合展示层级信息。表格中的每项都指向不同的子信息,这些子信息承载于另一个列表中。用户可以沿着这些层级结构的路径来点击每一层列表中的项。展开标志告知用户点击这一列中的任何位置,都将展开新的列表以展示其子类信息。
展示可以在概念上进行分组的信息。平铺型和分组型列表都允许你通过提供页眉和页脚来对信息进行分组和分段。
你可以用页眉页脚视图(header-footer view)——即UITableViewHearderFooterView中的一个实例——来展示页眉和页脚的文字,或图片。想要了解如何在代码中定义页眉页脚视图,请参考UITableViewHeaderFooterView Class Reference.
展示索引来方便查找。平铺型列表支持索引,可以让用户快速地找到需要的内容。索引信息包含一个浮在屏幕右侧的、纵向罗列的条目,内容则通常是字母表中的字母。
如果你使用了索引,要避免在表格右侧使用其它表格视图元素——比如展开指示符——因为它们与索引是冲突的。
使用表格视图时可遵循以下指南:
用户选择列表项时,始终给与反馈。当用户点击可选的列表项时会认为被点击的项都应短暂地高亮一下。在点击后,用户期望出现新的视图,或者出现一个复选标记以表明先前点击的项已经被选中或激活。
如果表格的内容庞大而且复杂,不要等数据都加载完之后才一起显示出来。可以首先展示文字信息,图片等较为复杂的内容则在加载完后再显示。这样可以将有用的信息立即传达给用户,同时也提高了应用的响应能力。
在等待信息加载的时候,可以考虑展示“过期”信息。尽管我们并不推荐在数据频繁变化的应用中这样做,它还是可以帮助更多的静态应用程序立即给到用户有用的信息。当然在你这么做之前,请认真衡量你应用中数据的变化频率,并弄清楚你的目标用户有多需要立即获取最新的信息。
如果信息加载速度很慢或者非常复杂,你需要告诉用户加载正在进行中。如果表格中所有内容都很复杂,我们很难即时地给用户展示任何内容。在这种极端情况下,切勿显示空白的表格,因为这会让用户以为应用挂了。此时应当在屏幕中央展示一个活动指示器(activity indicator)和一个信息标签(information label),比如“加载中…”,让用户知道加载仍然在进行。
如果合适的话,为删除按钮自定义一个名称。如果这能让用户更好地理解应用的相关功能的话,你可以创建一个合适的标题,来取代“删除”这个字样。
尽量使用简洁的文字标签,以避免被截断。繁冗的文字和词组不方便用户浏览和理解。以上所有单元格样式均会自动截断文本,而文本截断所造成的问题可大可小,取决于你采用的单元格样式,以及被截断了哪一部分文字。
如果你想以一种非标准的形式来布局你的表格,最好是自定义一种单元格样式,而不是在现有的表格样式上进行改动。
文本视图可以接收和展示多行文本。
想了解如何在代码中定义文本视图,参考.
文本视图是矩形,可定义为任何高度。
当内容太多超出视图的边框时,文本视图支持滚动。
如果文本视图支持用户编辑,当用户轻击文本视图内部时,将唤起键盘。键盘的布局和类型取决于用户的系统语言设置。
你可以控制文本视图中文字的字体、颜色和对齐方式。文本视图的默认字体是系统字体,默认字色是黑色。默认文字对齐方式是左对齐(你可以改为居中或右对齐)。
始终确保文字的易读性。虽然你可以使用属性字符串将不同的字体、字色和对齐方式串联在同一个文本视图内,但保持文本的可读性是必不可少的。最好是可以支持动态文本(Dynamic Type)和 method preferredFontForTextStyle来展示文本框中的文本。想要了解动态文本的更多支持引导,参考;编程信息,参考
根据输入内容的类型来指定不同的键盘类型。举例来说,你希望用户能更方便地输入网址、密码或者电话号码。但请注意,由于键盘的布局以及输入方法是由用户的系统语言设置决定的,这是你不能控制的。
iOS 提供了各种不同的键盘类型,以便用户输入不同类型的文本。想要了解可用键盘类型,可以参考UIKeyboardType.想要了解如何在管理你的应用中的键盘,请参考 iOS App Programming Guide 中的 Managing the Keyboard 部分。
网络视图是一个可以展示丰富的 HTML 内容的区域。(下图是 iPhone 自带的邮件应用,网络视图指的是下图中导航栏和标签栏中间的区域)
想要了解如何在代码中定义网络视图,请参考.
展示网络内容
自动处理页面中的内容,比如把页面中的电话号码转化成电话链接。
如果你经营一个网页或者网络应用,你大约会用网络视图来实现一个简单的iOS App,来对你的网页或者应用进行一个封装。如果你打算用网络视图来访问你所控制的网页内容,请务必阅读Safari Web Content Guide.
不要用网络视图来创建一个看起来像迷你网络浏览器的应用。用户期望使用iOS自带的Safari来浏览网页内容,因此我们并不推荐你在自己的应用中复制这种以被广泛应用的功能。

我要回帖

更多关于 模态视图 的文章

 

随机推荐