iOS开发标准教程第11章.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1-* 第11章 自动布局 课程安排 自动布局的基本原理 自动布局 SizeClass 图片裁剪 自动布局的基本原理 自动布局(AutoLayout)是对AutoresizingMask的进一步改进,它允许开发者在界面上的任意两个视图间建立精确线性变化规则。同样,每一个控件自动布局后的位置也由至少四个布局属性确定,分别是左约束、右约束、上约束、下约束(或者确定高宽,中心位置)等。 自动布局是灵活的,只要约束能唯一确定控件的位置及大小就可以,同时也可以与父控件、同级控件、设置界面进行约束,这样解决了AutoresizingMask所造成的不便。但这个方式在设备旋转的时候,任旧有问题存在,于是苹果又推出了新的布局方式SizeClass与AutoLayout一起使用。 旧的界面布局方式的缺点 在项目开发中,一个界面有许多控件,按显式坐标定位方式,对每一个控件进行设置,不仅麻烦,而且效率低下,如果此时要对某一个控件进行调整,可能导致其他相关联控件都要进行调整。若是有些项目支持旋转,那情况更加复杂了。这种方式大大增加了开发的难度。 在iPhone 6/iPhone 6 Plus出来后,苹果的设备尺寸更加多样化,若再加上各种设备的旋转,其适配难度更加巨大,苹果也意识到了这样的问题,因此引入了自动布局(Auto Layout)与布局约束(Layout Constraint)的概念,来解决上面遇到的问题。 SizeClass 在界面适配中,比较难处理的是设备的旋转,各种设备有不同的尺寸,旋转过后尺寸变化比较大。以前为了更加清楚,一个页面创建多个xib文件来适配,这样的缺点是一个界面对应多个xib界面,比较难以维护。当SizeClass出来后,屏幕高宽属性就被淡化,只需注意屏幕是属于宽松型还是紧凑型。将SizeClass和AutoLayout组合使用,以后再有不同尺寸设备推出也不用重新适配。 开启自动布局 界面预览 添加自动布局 1.添加自动布局 2.修改自动布局 代码添加自动布局 在UIKit中,每一个布局约束都是一个NSLayoutContraint实例,约束的实现方法为: +(instancetype)constraintWithItem:(id)firstItem attribute:(NSLayoutAttribute)firstAttribute relatedBy:(NSLayoutRelation)relation toItem:(id)secondItem attribute:(NSLayoutAttribute)secondAttribute multiplier:(CGFloat)multiplier constant:(CGFloat)constant; SizeClass AutoLayout可以自动根据屏幕尺寸来决定控件大小和位置,可设备进行横竖屏切换,屏幕高宽变化巨大, AutoLayout很难以适应,可能原来的布局已经不适用了。按以前的方法,新建一个xib文件来适配新的布局。可这样,就已经违背了自动布局自动布局的概念了,所以苹果在iOS 8推出SizeClass和AutoLayout搭配来进行自动布局。 设备及方位 垂直方向尺寸类型 水平方向尺寸类型 iPad 横屏或竖屏 Regular(+) Regular(+) iPhone 3.5/4/4.7/5.5寸(所有iPhone)竖屏 Regular(+) Compact(-) iPhone 3.5/4/4.7寸横屏 Compact(-) Compact(-) iPhone 5.5存(6Plus/6sPlus)横屏 Compact(-) Regular(+) 图片裁剪 在项目中经常遇到对图片拉伸以致图片失真的问题。在Xcode的Assets.xcassets中,可以对部分图片进行处理,使得一些图片无论如何拉伸都不会失真。下面就介绍如何在Assets.xcassets设置图片裁剪。 自定义进度条是经常使用到的功能,例如给出一个图片作为进度条的图片,如图所示。 将此image放到Assets.xcassets中并命名为image,并且在Main.storyboard中创建一个ImageView,并设置图片为进度条图片image。 进度条可能会由窄至宽的拉伸,当image的宽拉伸时,拉伸得到图片,如图。 可以看到,图11.25所拉伸的image效果并不理想,而且像进度条这种宽度不固定的,所给定的资源图片的宽度如何固定就成了问题。如果能够保证image的两侧不变,每次用红色填充image中间的地方,则可以保证image拉伸而不会变形。 性格决定命运, 专注成就人生 1-* Oracle Database 10g: Administration Workshop II

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档