移动应用软件开发综合实训(基于iOS平台)-2017 autoresizing屏幕布局 iOS 屏幕适配,autoResizing autoLayout和sizeClass图文详解.docx

移动应用软件开发综合实训(基于iOS平台)-2017 autoresizing屏幕布局 iOS 屏幕适配,autoResizing autoLayout和sizeClass图文详解.docx

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
iOS 屏幕适配,autoResizing autoLayout和sizeClass图文详解 1. autoResizing autoresizing是苹果早期的ui布局适配的解决办法,iOS6之前完全可以胜任了,因为苹果手机只有3.5寸的屏幕,在加上手机app很少支持横屏,所以iOS开发者基本不用怎么适配布局,所有的ui控件只要相对父控件布局就可以了,没错autoResizing就是一个相对于父控件的布局解决方法;注意:它只能相对父控件布局; 在xcode中可以通过可视化的界面调整也可以通过代码去控制 在用autoResizing的时候需要关闭autoLayout和sizeclass(如果是用xcode6) 他们之间是互相冲突的 可以通过图片看到autoResizing通过可视化能调整的只有6根线刚好和它的6个枚举值对应 typedef NS_OPTIONS(NSUInteger, UIViewAutoresizing) { UIViewAutoresizingNone = 0, UIViewAutoresizingFlexibleLeftMargin = 1 0, UIViewAutoresizingFlexibleWidth = 1 1, UIViewAutoresizingFlexibleRightMargin = 1 2, UIViewAutoresizingFlexibleTopMargin = 1 3, UIViewAutoresizingFlexibleHeight = 1 4, UIViewAutoresizingFlexibleBottomMargin = 1 5 }; 外边的4根线用来设置当前view距离父控件的上、下、左、右的距离是否固定; 内部的两根线来设置view是否跟随父控件来自适应width和height; 代码则可以通过view.autoresizingMask = ...来设定autoResizing值; autoResizing的功能仅此而已;显然不够用; 举例: 1:让两个等宽等高的view之间的间距永远固定,如图的红色view和蓝色view,想让它们之间的距离固定通过autoResizing是不行的;因为autoResizing是相对父控件进行布局的,不可以在两个兄弟view之间建立布局关系; 可以看到一个横屏和竖屏就已经不能满足需求了,更别说屏幕尺寸还要变大 当然你有可能通过其他复杂的辅助手段实现,但是很麻烦;因为不仅仅是横竖屏幕;屏幕尺寸也要变了; autoResizing就到此为止,显然它已近过时,了解一下就可以了; 2. autoLayout iOS6之后 做苹果开发的一个好处是有一个很好的东家,苹果公司,他不仅很注重用户体验,而且还不忘为开发者去除一些不必要的麻烦(例如:ARC的出现...) autoLayout:可以在任意两个控件之间建立布局关系,可以是父子view也可以是兄弟view;功能强大了许多,当然学习成本也高了不少; 如图: 为了方便了解先勾选autoLayout就可以了,sizeclass先别勾了(如果是xcode6) autoLayout的设置功能就上图中下方的红色方框中; 左起第一个: 通过图中红色框圈住的地方可以看出来,该处功能是设置多个view之间的对齐方式,所以设置的时候要同时选中多个View进行设置 第二个: 这一部分相当于是一个autoResizing,强大之处在于可以是任意两个view的相对布局,可以设置距离父控件的上下左右位置(红色框),还有自身的宽高,还可以相对其他控件设置宽高(蓝色框) 第三个: 这部分是用来添加、删除、和更新约束的,上半部分是对于选中view的约束更新,下边是容器中得所有view的约束 除了上边,还可以通过control按键配合拖线来做autoLayout,如图: 例子:用autolayout完成刚才autoResizing不能完成的任务,这里继续加大难度,除了让红色view和蓝色view等宽等高,而且距离始终保持不变以外,还要让两个view整体垂直居中于屏幕;先看最终的效果图 横屏效果 可以看到不管是横屏竖屏还是大屏小屏,都是没问题的,到中分线的距离固定且相等; 下边开始一步一步通过autoLayout完成 第一步: 先让两个view等高等宽, 在xcode中同时选中红色view和蓝色view,勾选等宽,等高; 这里也可以用另外一种方式:按住control进行拖线,为了可读性和看着直观就不用了; 这时请注意看xcode得左上角,会有红色的箭头出现,表示添加的约束不完整,先说明:约束的

您可能关注的文档

文档评论(0)

WanDocx + 关注
实名认证
内容提供者

大部分文档都有全套资料,如需打包优惠下载,请留言联系。 所有资料均来源于互联网公开下载资源,如有侵权,请联系管理员及时删除。

1亿VIP精品文档

相关文档