|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你可能还需要学习使用Xcode这个开发环境,接著你需要掏钱向苹果注册开发者权限,基本的帐号是99美金。本视频为“斯坦福大学iPhone开发教程”,51CTO将不断关注本视频教程的更新进度,为大家提供最新的视频。过渡前的筹办
主要:因为iOS7还未终极公布,该文档的部份内容还会持续修正。
入手下手之前的事情
iOS7引进了很多用户界面上的改动,好比无边框的按钮,通明操纵栏,全屏视图把持器结构。利用Xcode5能够创立iOS7项目,并利用摹拟器一窥iOS7用户界面的变更。
比方,示例程序TheElement在iOS6和iOS7摹拟器上分离看起来分离是如许的。
iOS7摹拟器上的模样iOS6摹拟器上的模样
<br>关于如许布局的程序,你乃至不必更新你的使用程序,但在入手下手之前仍是有几件事要思索一下。当你操纵内置的使用程序时,你会感到到iOS7的变更既奇妙又深入。熟习的UI元素十分易于识别,但它们看起来和本来变更很年夜。靠近实在的假造触摸变得加倍温和精巧,同时静态效果的实在性失掉了加强。注重:iOS7上一切的UI元素看起来和本来区分很年夜,而且供应了很多新功效,可是你所熟习的UIKitAPI基础上没有变更太多。 跟着你探究的深切,会熟悉到iOS7的次要主题:
- 依从。界面的感化是匡助用户了解内容、和内容交互,而不是与内容合作。
- 了了。每一个字号的字体都明晰可辨,icon准确易懂,粉饰元素恰到好处,关于功效的准确聚焦是计划驱动力。
- 深度。经由过程可视化的层、传神的动画,加深用户的愉悦和了解。
由于iOS体验产生了基本而广泛的变更,iOS7为人人供应了一个可贵的时机:从头审阅你的app的中心目标是甚么,为用户供应甚么样的功效。只管你如今大概还没筹办好使用这个时机,当你将app适配到iOS7的时分,请记着这一点。(当你筹办好从头审阅你的app计划大概入手下手一个新项目标时分,请参阅《DesigningforiOS7(为iOS7而计划)》)
懂得app的特性
不管你筹办从头计划app,大概只是改善计划,你都必要晓得你的app的特质会对从头计划历程发生影响。起首请自问以下2个成绩,它们能匡助你思索过渡的战略:
你利用AutoLayout来计划app了吗?
假如你利用了AutoLayout来结构的话,你的事情量就少了良多。在Xcode5中,AutoLayout会匡助app主动调剂新的UI元素器度,而且对字号主动静态调剂。AutoLayout对你从iOS6晋级到iOS7,和同时撑持两个版本操纵体系十分有匡助。
假如你没有利用AutoLayout,如今入手下手学着利用吧,出格是当你必要撑持app的多个版本的时分。假如利用手动结构大概辨别性结构手艺的话会对照贫苦,就必要时候思索确保字号改动的时分酿成的结构变更是不是符合。
你的app必要撑持iOS6吗?
记着良多iOS用户极可能在较短工夫内晋级他们的设备到iOS7,他们不但愿看到本人喜好的app在iOS7上体现得糟。
你也大概出于贸易缘故原由必要思索对iOS6的撑持,这时候最好的计划仍旧是将app先晋级到撑持iOS7,然后尽量地往将计划的变更使用到app的iOS6版本。这个历程的处置细节请参考“撑持iOS6体系”(第7页)。
接上去要反省app是按照甚么样的体例定制的。分歧定制体例影响了事情量。
定制分为三品种型:
尺度型(Standard):app中只包括了UIKit中所供应的尺度UI元素。
自界说型(Custom):app中完整利用了UIKit中没有的自界说UI元素。
夹杂型(Hybrid):既利用了尺度元素,也用了自界说元素(包含利用UIKit着色和表面自界说API定制的自界说的尺度元素)。
对尺度型app。必要确认视觉和交互计划在iOS7情况下时是不是仍然符合。假如你决意坚持原本的结构和交互体例,次要的事情就是举行微调,确保app能够一般处置体系全局的手势。
自界说型。这对事情量请求就对照高了。假如以后的UI和体验仍然符合的话,那要做的事变还不算多。相反,假如app的本性和体验与iOS7相差悬殊,那为了投合用户的习气,你大概就必要做对照多的事情了。
夹杂型。依据其利用自界说控件的几与其和尺度控件绑定情形分歧,事情量也有所区分。从头审阅夹杂型app的时分,还要确保自界说部分和尺度部分仍然能够一同一般事情。注重:假如你的app以自界说的体例摹拟了iOS6的传统UI,那就会必要花鼎力气修正了,不然它会看起来十分陈腐。 过渡事情的局限
懂得你的app特性及其定制体例,能让你也许晓得怎样举行过渡。参考上面的清单,添补上本人项目标细节,来懂得全部过渡事情的局限。
强迫每一个app做的事变
- 更新app的icon,在iOS7中,app的图标尺寸是120x120像素(高分辩率下)。
- 更新app的载进图象,假如原本的载进图象中不包括顶栏部分的话,增补上形态栏部分的图象。
- 请撑持Retina屏和iPhone5的屏幕尺寸。(译者注:不撑持就不克不及更新了)
- 确保app的内容在通明UI元素(好比通明的bar和通明键盘)和通明的体系形态栏下仍然可辨识。在iOS7中,视图把持器一致接纳了全屏视图(参考第11页“利用视图把持器”)。
- 从头计划自界说bar的icon。iOS7下,bar上的按钮图标加倍轻便,作风也有变更。
- 拿失落按钮的背景图片,器重现有的按钮表面,实验无边框的按钮。
- 反省app中写逝世的UI数值,好比size和position,用体系供应的静态数值交换它们。利用AutoLayout匡助你的app完成响应结构变更下的呼应。(假如你这个菜鸟连AutoLayout都不晓得是甚么的话,请自行浏览CocoaAutoLayoutGuide)
- 反省app中利用UIKit的中央,看标准微风格产生变更的把持器和视图是不是对结构和表面发生了影响。好比,开关加倍宽了,组合式表格(groupedtables)酿成通栏的了,进度唆使条酿成了十分细的小条。更具体的UI元素变更,请参考21页的“操纵栏和栏上的按钮”,第26页的“控件”,第19页的“内容视图”,第32页的“一时视图”。
- 利用静态的字体。在iOS7中,用户能够自在调剂app中的字号巨细。假如开辟者利用静态字体的话,用户在体系中设定自界说字号的时分,app的字体也会产生响应的变更。更多信息请参考12页的“利用字体”。
- 确保你的app不会与体系的新增手势发生抵触:从屏幕底部向上滑动修改把持中央的手势,从屏幕摆布边沿向两头滑动的行进前进手势。
- app款式中慎用投影、突变、浮雕效果。由于iOS7的美学器重陡峭、分层——只管少利用让UI元素看起来拟实的视觉效果。
- 需要的话,将app晋级到iOS6中保举的最好理论办法(如:AutoLayout和故事版)并确保app不利用放弃的API。
如今你晓得你必要做哪类事变了,懂得更多关于视图把持器、着色、字体的改动,请浏览第11页的“结构和表面”。
假如你仍需撑持iOS6
假如你必需撑持iOS6和7两个体系,你能够在app运转的时分检测操纵体系的版本,并随时加载响应的资本文件。更多信息请参考第7页的“撑持iOS6体系”。
撑持iOS6体系
假如出于贸易缘故原由必需撑持iOS6大概更初期的体系版本,你必要选择最符合实践的体例晋级app到撑持iOS7。你选择的手艺大概有所分歧,但总的倡议是:聚焦在起首为iOS7而从头计划,然后为app思索iOS6版本必要做的事变。注重:在运转iOS7的设备上,一切的体系界面元素(好比告诫对话框和关照信息)城市利用iOS7的默许表面,即便你的app利用更初期的表面。 利用InterfaceBuilder撑持app多版本
Xcode5中的InterfaceBuilder包括了诸多新功效,它们能匡助你将app过渡到iOS7的同时撑持旧的版本。
看一下你对用户界面的晋级会对初期版本发生甚么样的影响。利用AssistantEditor,能够在画布上修正iOS7故事版或xib文件的同时,看到这些变化会对iOS6版本文件酿成的影响。
预览初期故事版文件和xib文件的办法:
- 在画布上检察iOS7故事版文件大概xib文件的时分,翻开assistanteditor。
- 翻开Assistant弹出菜单。
- 在菜单中,定位到预览项,然后选中响应故事版文件或xib文件。
<br>
在iOS7和初期版本iOS的UI预览之间切换。假如你的app必要撑持iOS6.1之前的版本,利用这个功效来确认UI在初期版本看起来没有成绩。
在两个版本的UI之间切换的办法:
- 在InterfaceBuilder的反省器中翻开文件。
- 翻开菜单“Viewas”。
- 选择你想预览的版本号。
更多关于Xcode5中新的InterfaceBuilder的信息,请参考“What’sNewinXcode”。
撑持尺度app的两个版本
假如尺度app的两个版本利用不异的结构,利用AutoLayout创立合用于两个版本iOS的用户界面。要撑持多版本的iOS,指订单唯一套的常量以便AutoLayout调剂故事版和xib文件中的视图和把持器。(更多信息参考“ConstraintsExpressRelationshipsBetweenViews”)
假如尺度app的两个版本必要利用不异的表面,但你又没有利用AutoLayout,那末请利用offsets偏移量。在利用offsets前请将UI晋级到iOS7。接上去将初期UI元素的肇端、高度、宽度的值指定为iOS7中利用的offsets偏移量。
更多AutoLayout的内容,请看“CocoaAutoLayoutGuide”。
办理夹杂型app中的多个版本图片
夹杂型app常常包括自界说图片资本,好比操纵栏按钮图标,操纵栏大概其他控件的视图背景。apps可使用一种或多种资本分类办法来办理这些资本。(懂得更多资本分类材料,请看“AssetCatalogHelp”)注重:资本分类(assetcatalog)包含显现在app中的资本;资本分类不克不及包括app的icon,载进图象,大概其他任何内部历程必要猎取到的图片。 夹杂型app假如必要撑持多版本iOS,则必需本人办理图象资本。将与app各个版本的图片分离利用分歧定名。
假如你的故事版或xib文件包括嵌进式图片,思索创立一个图片视图的出口(outlet),并在必要的时分加载符合的资本。在代码中加载分歧资本的办法,参考“LoadingResourcesConditionally”。
根据附加前提加载资本
偶然候,你必要思索app在甚么iOS版本上运转,才干在代码中做出响应的对策。好比,在分歧版本的app中,结构多是一模一样的,能够经由过程加载分歧的故事版或xib文件来完成。你大概必要利用分歧代码来处置API之间的分歧的地方,好比在给操纵栏背景着色的时分利用barTintColor仍是tintColor。
假如你必要为分歧app版本加载分歧的资本,但你只在Info.plist文件中指定了一个故事版或xib文件,那末你也能够先反省体系版本然后加载对应的资本(application:didFinish-LaunchingWithOptions:)
检测app是不是以后运转在iOS7情况的办法是:写一个宏来反省体系版本。上面的代码展现了反省体系版本并存储了局的办法(便利今后随时挪用)。NSUIntegerDeviceSystemMajorVersion();
NSUIntegerDeviceSystemMajorVersion(){
staticNSUInteger_deviceSystemMajorVersion=-1;
staticdispatch_once_tonceToken;
dispatch_once(&onceToken,^{
_deviceSystemMajorVersion=[[[[[UIDevicecurrentDevice]systemVersion]componentsSeparatedByString:@”.”]objectAtIndex:0]intValue];
});
return_deviceSystemMajorVersion;
}
#defineMY_MACRO_NAME(DeviceSystemMajorVersion()<7) 结构和表面(Layout&Appearance)
iOS7给你的app结构和UI带来了很多变更。视图把持器、着色、字体效果等的变更,会影响你的app中一切UIKit对象。
利用视图把持器(ViewController)
在iOS7中,视图把持器都是全屏的。iOS7视图把持器的表面给人转达了更精致的把持感。出格是新的全屏表面让你能够指定视图的每一个边沿的结构。
视图把持器接口wantsFullScreenLayout已取消。假如你像之前那样地指定wantsFullScreenLayout=NO,iOS7中视图把持器会在将其内容显现到一个不测的屏幕地位。
UIViewController供应了以下属性来调剂视图把持器的表面:
- edgesForExtendedLayout这个属性属于UIExtendedEdge范例,它能够独自指定矩形的四条边,也能够独自指定、指定全体、全体不指定。
利用edgesForExtendedLayout指定视图的哪条边必要扩大,不必剖析操纵栏的通明度。这个属性的默许值是UIRectEdgeAll。
- extendedLayoutIncludesOpaqueBars
假如你利用了不通明的操纵栏,设置edgesForExtendedLayout的时分也请将extendedLayoutIncludesOpaqueBars的值设置为No(默许值是YES)。
- automaticallyAdjustsScrollViewInsets
假如你不想让scrollview的内容主动调剂,将这个属性设为NO(默许值YES)。
iOS7中,视图把持器撑持自界说视图之间的过场动画。别的,你可使用iOS7的新API来撑持过场动画过程当中的用户交互。更多信息请参考上面两个文档:《UIViewController过场动画协定参考》和《UIViewController过场交互协定参考》。
iOS7同意视图把持器在app运转过程当中改动体系形态栏的款式。开启这个功效,请在Info.plist文件中增加键UIViewControllerBasedStatusBarAppearance,并将值设为YES。静态改动体系形态栏的一个好办法是重写preferredStatusBarStyle办法,用一个动画模块来更新形态栏表面,并挪用setNeedsStatusBarAppearanceUpdate办法。
利用着色(TintColor)
在iOS7中,着色是UIView的一个属性。iOS7的app会利用着色来界说一个关头色,这个色彩标明“这里是可交互的”,大概暗示元素选中的形态。
当你指定某个视图的着色的时分,这个色彩会主动承继到一切的子视图中。由于UIWindows承继自UIView,你能够如许经由过程设置窗体的着色属性指定着色:window.tintColor=[UIColorpurpleColor]; 假如不为窗体指定着色,则会利用体系默许的色彩。
默许情形下,视图的着色是nil,意味着视图利用父级的着色。也就是说哪怕你不设置着色的话,视图也总可以猎取到一个色值。
总的来讲,最幸亏视图还没有显现到屏幕上之前指定它的着色。想让视图承继上个层级的着色的话,就将着色设置为nil。主要:iOS7不撑持经由过程表面代办署理API来设置着色。 当告诫框(alert)和上拉菜单(actionsheet)呈现的时分,iOS7主动将面前视图的着色变暗。为了呼应该色采变更,在衬着时利用tintColor的自界说视图的子类必要重写tintColorDidChange办法,以便在符合的时分革新衬着。注重:在iOS6中,tintColor能够用来给导航栏的背景着色、tab栏、工具栏、搜刮栏、搜刮栏的局限选择栏着色。而在iOS7中,给背景着色只必要利用barTintColor属性就能够了。 利用字体(Fonts)
iOS7引进了静态字体(DynamicType),它让你的app中的字体显现加倍杰出。
最小字号下的邮件注释最年夜非残障帮助字号下的邮件注释
<br>
利用静态字体时,同时意味着:
- 一切笔墨的粗细,字间距,行高都被主动调剂。
- 能够语义上指定分歧的笔墨款式:注释、脚注、年夜题目等等。
- 对静态字体和残障帮助超年夜号字体都能有很好的呼应效果。
要享用静态字体的优点,请用UIFont类下的preferredFontForTextStyle办法来天生笔墨,而不是间接指定字体的称号和巨细。iOS7会包管每一个巨细字体的最好可读性。
操纵栏和栏上按钮(Bars&BarButtons)
iOS7中,形态栏是通明的,其他的操纵栏(导航栏、tab栏、工具栏、搜刮栏、搜刮栏上面的局限选择栏)是半通明的。一般情形下,你但愿能看到操纵栏面前是你的内容。
年夜多半操纵栏会将掩蔽住的内容举行含混处置,除非你供应一张自界说背景图。
为了标识操纵栏的地位,iOS7引进了barPosition属性,它能够匡助你指定甚么时分自界说背景图片必要平展在形态栏上。值UIBarPositionTopAttached标明操纵栏切近屏幕顶部,背景向上延长进体系形态栏地区。绝对的,值UIBarPositionTop暗示操纵栏位于以后部分内容的顶部(好比,在弹出式气泡的顶部)它不为形态栏供应背景。
默许情形下,一切的栏上按钮都是无边框的。概况请看第18页的“栏上按钮”。
体系形态栏(StatusBar)
由于体系形态栏是通明的,以是能够透过它看到前面的视图。形态栏的作风按照它内容的表面出现,包含工夫、电量、Wi-Fi旌旗灯号等。利用常量UIStatusBarStyle来指定利用玄色作风仍是红色作风:
UIStatusBarStyleDefault显现玄色的笔墨内容。当形态栏前面的内容是浅色的时分合适利用。
<br>
UIStatusBarStyleLightContent显现红色的笔墨内容。当形态栏前面的内容是深色时利用对照符合。
<br>
有些情形下,导航栏和搜刮栏的背景图片能够向上延长到形态栏面前(概况见22页的“导航栏”章节和23页的“搜刮栏和局限选择栏”章节)。假如形态栏上面没有其他栏,内容视图必要利用全屏高度。要懂得视图把持器是如何得当地结构的,请看11页的“利用视图把持器”。在iOS7中,经由过程自力的视图把持器,能够在app运转的时分改动形态栏的作风。完成办法是在Info.plist中到场键UIViewControllerBasedStatusBarAppearance,并设置值为YES。
- 导航栏(NavigationBar)
- 导航栏匡助用户在分歧信息条理布局中穿越,并选择性地办理屏幕内容。
iOS7iOS6
<br>
-
<br>
iOS7让在导航栏上增添搜刮栏的变得十分复杂。概况参考第16页的“搜刮栏和局限选择栏”。*假如想用自界说的图象来交换前往的箭头“<”的话,还需本人创立一个响应的遮罩。在导航过场动画的时分,iOS7利用遮罩来让上个层级的题目渐隐渐出。懂得更多前往按钮和遮罩图象的把持属性,请参阅“UINavigationBar类参考”。
假如你利用UIBarPositionTopAttached款式创立了一个导航栏背景,确保图象包括了体系形态栏的地区。详细来讲,你必要一个高分辩率下128像素的图象。
上面这个表格形貌了iOS7怎样看待分歧高度的可变导航栏背景。(更多请看“UIImage类参考”)
表格5-1可变巨细的背景图片处置战略
<br>
搜刮栏和局限选择栏(SearchBar&ScopeBar)制止利用超高的背景图片来制造导航栏上面的自界说投影,这类手艺在iOS7中不起感化,由于超高的图片会向上(体系形态栏偏向)扩大,而不是向下(导航栏上面)扩大。假如你想给导航栏增添投影,能够创立一个自界说图片,然后利用shadowImage属性来自界说投影图片。
搜刮栏吸收用户输出的笔墨,下方能够附带一个局限选择栏。
iOS7iOS6
<br>
<br>
在iOS7中,UISearchDisplayController包括了displaySearchBarInNavigationBar属性,如许你就能够将搜刮栏放进导航栏,就像日历app内里如许:假如你利用UIBarPositionTopAttached的地位为搜刮栏创立了一个背景图片,请确保图片的高度包括了形态栏的高度。假如你创立了一个可变巨细的背景图片,参阅15页的表格5-1猎取更多iOS7调剂背景图片巨细的战略。
<br>
局限选择栏则同意用户选择搜刮了局的局限。注重:局限选择栏不克不及独自呈现;必需依靠在搜刮栏上面呈现。 iOS7iOS6
<br>
<br>
Tab栏(TabBar)
Tab栏让用户能够在分歧子义务、视图、形式之间切换。
iOS7iOS6
<br>
<br>
假如利用了自界说icon的话,可使用UITabBarItem中的selectedImage属性来设置按下形态的图象。假如不供应按下形态的icon,则两个形态会利用不异icon。
工具栏(Toolbar)
工具栏上安排以后屏幕大概视图下相干的对象的操纵按钮。
iOS7iOS6
<br>
<br>
假如你创立了可变巨细的背景图片,请参考15页的表格5-1猎取iOS7处置分歧尺寸图片的细节。
栏上按钮(BarButtons)
在iOS6中,栏上按钮能够是有边框的,也能够是无边框的。在iOS7中只能是无边框的。
iOS7中的导航栏按钮iOS6中的导航栏按钮
<br>
为了加倍明白,在iOS7中,app的栏上按钮常常利用笔墨而不是图形。比方,iOS7中的日历使用利用了Inbox(收件箱)取代了收件箱图形:
iOS7iOS6
<br>
在初期版本的iOS中,自界说栏上按钮图片会主动被当作“templateimage”。(templateimage被用作终极图象的一个遮罩。)而iOS7中,你可使用以下UIImage属性来指定是不是必要把自界说的图片当作templateimage来处置:
- UIImageRenderingModeAlwaysTemplate。图片被用作TemplateImage。
- UIImageRenderingModeAlwaysOriginal。图片依照原样衬着。
假如你没有指定对图片的处置办法的话,图片会利用包括它的视图的默许处置体例。好比,tab栏默许会利用template处置体例,而进度滑块则会利用原样完全衬着的处置体例。注重:templateimage会按照其父布局的着色举行着色(更多请看18页的“利用着色”)。假如不想让栏上的元素被着色,为图片设置UIImageRendering-ModeAlwaysOriginal属性。 内容视图(ContentView)
内容视图用来显现自界说的app内容。由于年夜多半内容视图的表面体系都没有供应,以是iOS7视觉上的变更对他们几近没有影响。有个对照年夜的破例是分组聚合表格视图,它在iOS7上表面有伟大的变更。
举动菜单(Activity)
举动菜单代表了一个能够呼应以后选择内容的功效,它能够是体系供应的大概自界说的。用户能够经由过程体系供应的举动视图把持器来利用这些功效,当用户点击分享按钮的时分,举动视图把持器就会从屏幕底部向上升起。
体系供应的举动菜单中能够供应两种作风的按钮:
- 原样衬着的app图标——好比上面这个邮件的icon
- 和tab栏上的按钮一样的作风——好比上面复制、打印如许的icon
第三方功效老是利用第二种作风的icon。
<br>
假如要在你的app中供应某个服务,创立一个简便、线框状的templateimage。创立templateimage的时分请恪守下述引导准绳:
- 利用玄色大概红色,共同得当的alpha通明度
- 不要利用投影
- 利用抗锯齿效果
举动菜单上的templateimage应当在地区中居中,分辩率约莫在70x70像素摆布。
汇合视图(CollectionView)
汇合视图用来办理和有序分列项目,将它们以可定制的结构举行出现。
在iOS7中,汇合视图撑持自界说过场动画。懂得更多请参考“UICollectionViewTransition-Layout类参考”。
照片使用利用了汇合视图来展现图片集,并撑持他们之间的过场动画。
<br>
图片视图(ImageView)
图片视图显现一张图片大概一系列静态的图片。
在iOS7中,UIImageView包括了着色属性tintColor。当图片视图包括templateimage的时分,tintColor会被使用到图片上。
舆图视图(MapView)
舆图视图展现地舆数据,撑持自带舆图使用的年夜多半功效。
照片使用中的舆图视图匡助用户检察照片的地舆地位信息。
<br>
在iOS7,只可以利用一个新的类MKOverlayRenderer来在舆图视图下面创立掩盖层。
假如要给舆图视图增添3D表面的话,只需给它的camera属性分派一个相机对象便可(MKMapCamera的一个实例)。要懂得更多,参考“MKMapView类参考”。
页面视图把持器(PageViewController)
页面视图把持器用来办理多页的内容,可使用转动过场,也能够利用卷页过场动画。
在iOS7中,利用两个办法来分离指定(pageViewControllerPreferredInterfaceOrientationForPresentation和pageViewControllerSupportedInterfaceOrientations)。
上面能够看到iOS7摹拟器中页面视图把持器的默许表面:
<br>
转动视图(ScrollView)
转动视图匡助用户检察超越视图界限的内容。转动视图在iOS6和7上视觉独一的分歧是转动条的表面。
iOS7iOS6
<br>
在iOS7上,你能够经由过程UIViewController的automaticallyAdjustsScrollViewInsets属性来办理转动视图的项目分组之间的距离。
表格视图(TableView)
表格视图将数据以多行单列的列表出现。
iOS7为单行和成组的表格视图引进了新的变更。
iOS7(表格组)iOS6(表格组)
<br>
<br>
表格视图中的元素在iOS7中也有了分歧的款式。
<br>
文本视图(TextView)
文本视图承受和显现多行文本。
请利用UIFont类的preferredFontForTextStyle办法猎取文本视图中显现的笔墨内容。
网页视图(WebView)
网页视图是能够显现富HTML内容的地区。
在iOS7中,UIWebView撑持显现分页表面的内容的显现。
控件(Controls)
控件是种特别的UI元素,用户既能够看(猎取信息)也能够与之交互(操纵它)。一切的iOS7控件的表面都失掉了晋级,它们年夜多半都有了新的标准。
由于UIControl是从UIView承继而来,你可使用控件的tintColor属性来为它们着色。更多内容请参阅第11页的“利用着色”。
体系供应的控件默许撑持体系界说的动效,表面也会跟着高亮和选中形态的变更而变更。
日期拾取器(DatePicker)
日期拾取器显现了日期和工夫的内容,包含:分钟,小时,日期,年份。它的全体尺寸和iOS6比起来没有变更,可是表面产生了伟大的变更。
<br>
iOS7的app会将日期拾取器嵌进到内容中,而不是独自出现在一个弹出的视图上。好比日历使用静态地将表格的一行扩大开,将日期拾取器嵌进,用户指准时间的时分就不必要分开以后这个增加事项视图。
<br>
新增接洽人按钮(ContactAddButton)
新增接洽人按钮是一个UIButtonTypeContactAdd范例的UIButton,它能够将用户的信息增加到其他基于笔墨视图的笔墨域中。
新增接洽人按钮的巨细和表面在iOS7中有变更。
iOS7iOS6
<br>
细节睁开按钮(DetailDisclosureButton)
细节睁开按钮是一个UIButtonTypeDetailDisclosure范例的UIButton,它标明以后项目另有分外的细节和相干功效,点击后会在另外一个表格或视图中出现。在iOS7中,细节睁开按钮利用和Info按钮一样的标记。
iOS7iOS6
<br>
当细节睁开按钮呈现在表格的一行中,点击该行的别的中央不会激该死按钮;相反地,这个操纵会选中该行,大概触发app界说的举动。
Info按钮(InfoButton)
Info按钮的范例是UIButtonTypeInfoLight大概UIButtonTypeInfoDark。它标明app的设置细节出口,新页面偶然候呈现在以后视图的反面。在iOS7中,info按钮利用和细节睁开按钮不异的图形。
在iOS7中,info按钮的巨细和表面产生了变更。
iOS7iOS6(天色使用中的)
<br>
文本标签(Label)
文本标签用来出现静态文本。
默许情形下,文本标签会利用体系字体,以是在iOS6和7上会看起来纷歧样。
iOS7iOS6
<br>
确保利用UIFont的办法preferredFontForTextStyle来猎取显现在标签上的笔墨。
页码控件(PageControl)
页码控件唆使翻开了几视图,以后看到的是哪个。
iOS7中,页码控件的巨细和表面产生了变更。
iOS7(天色使用中的)iOS6(天色使用中的)
<br>
拾取器(Picker)
拾取器显现一系列值,用户能够转动并选择其一。
拾取器的整体巨细比拟iOS6没有变更;表面和举动与日期工夫拾取器是分歧的。
iOS7iOS6
<br>
进度视图(ProgressView)
进度视图用来展现义务和历程的进度。
进度视图的巨细和表面(下图是在自带邮件客户端中的)在iOS7中产生了变更。
iOS7iOS6
<br>
革新控件(RefreshControl)
革新控件呼应用户自动触发的革新操纵,一样平常会呈现在表格上。
它的巨细和表面在iOS7中产生了变更。
iOS7iOS6
<br>
圆角矩形按钮(RoundedRectangleButton)
圆角矩形按钮在iOS7中被弃用了。用体系的无界限按钮替换它。对应的范例是UIButtonTypeSystem的UIButton。
iOS7体系按钮不包含倒角和背景款式。体系按钮能够包括一个图形大概笔墨信息,能够指定一种着色大概承继父级的着色。
iOS7体系按钮iOS6的圆角矩形按钮
<br>注重:在iOS7中,UIButtonTypeRoundedRect被从头界说成UIButtonType-System。在iOS6中利用圆角矩形按钮的app会主动转化成体系按钮的表面。 假如你必要显现一个包括倒角的按钮,利用UIButtonTypeCustom范例的按钮,这个范例撑持自界说背景图片。
分段控件(SegmentedControl)
分段控件是由一系列分段组成的,每一个段的功效相称于一个按钮,每一个按钮点击后都展现一个分歧的视图。
分段控件的巨细和款式在iOS7中的变更以下。
iOS7iOS6
<br>
在iOS7中,分段控件利用单一的款式,segmentedControlStyle属性不再利用。
滑动器(Slider)
滑动器让用户能够在同意的局限内一连调剂某个值。
在iOS7中的巨细和款式以下。
iOS7iOS6
<br>
iOS7中仍然能够对最小和最年夜轨道图象按下形态利用着色,利用三个属性来操纵(minimumTrackTintColor,maximumTrackTintColor和thumbTintColor)。假如你将minimumTrackColor属性设为nil,则该地区会承继父级的着色;假如设置maximumTrackTintColor或thumbTintColor的值为nil的话,两个地区城市利用默许色彩。
步进器(Stepper)
步进器能够将某个值增减一个常数值。
它在iOS7中的巨细和表面产生了变更。
iOS7iOS6
<br>
在iOS7中,默许情形下,步进器将自界说增减地位的图象视为templateimage。
开关(Switch)
开关用来暗示两个互斥的选项或形态(最常在表格视图中利用)。
在iOS7中的变更以下。
iOS7iOS6
<br>
iOS7持续能够对开、关、不成用三个形态利用着色。按下形态则利用上面三个属性着色:onTintColor,tintColor和thumbTintColor。
在iOS7中,默许情形中自界说的开关图象会被疏忽。
文本域(TextField)
文本域承受用户的单行输出。
它在iOS7中的巨细和表面有以下变更。
iOS7(舆图中的两行笔墨域)iOS6(舆图中的两行笔墨域)
<br>
确保利用UIFont的preferredFontForTextStyle办法来猎取和显现笔墨域中的笔墨。
一时视图(TemporaryViews)
举措列表,告诫对话框,模态视图是三种一时视图,它们在必要用户出格注重的时分、或供应分外的选择大概功效的时分会呈现。
固然举措列表和告诫对话框的内容能够自界说,它们的表面能做的自界说很少。因而你几近不必思索怎样让它们在iOS7上看起来更美妙。
由于模态视图实质上是视图的一种,你大概也必要从头计划一下模态视图,让它们在iOS7上看起来更合适。注重:当一时视图呈现的时分,iOS7主动将面前谁人尺度视图变暗。你大概必要调剂一下你的代码来处置这类色彩的变更;更多信息请看第18页的“利用着色”。 举措列表(ActionSheet)
举措列表用来出现一系列用户触发的义务的选择。
在iOS7中,默许情形举措列表是通明的,包含无边框的按钮。
iOS7iOS6
<br>
iOS7中,常量UIActionSheetStyle不再利用。在iOS7设备上,不论体系供应的UI(如举措列表的UI)是如何的,城市一概利用iOS7的默许表面。
注重举措列表中潜伏伤害的选项——destructiveButtonTitle中参数initWithTitle:delegate:cancelButtonTitle:destructiveButtonTitle:otherButtonTitles指定的——主动利用体系白色。
告诫对话框(Alert)
告诫对话框出现给用户影响他们利用app大概设备的主要信息。
表面在iOS7上看起来是如许的。
iOS7iOS6
<br>
在iOS7设备中,体系供应的UI(好比告诫框)利用体系供应的款式,不论以后运转的app款式是如何的。
假如你的告诫对话框有三个按钮,第三个按钮会显现在这两个主按钮上面一排。
用代码控制view意思他们玩的都是高科技IB都是垃圾很多人也纠结到底用不用IB的确很多时候IB灵活度不行但是不需要灵活度的时候还不用IB那不是装X吗要是没人用苹果还开发IB干嘛早去掉了IB在很多时候节省很多工作量UINavigationController再说说NavigationController刚接触开发的时候不明白View和View之间怎么切换的 |
|