iOS9 storyboard autolayout

    自从iPhone5问世以后,app开发多屏幕适配问题,不再是Android开发者的问题,iOS开发者也随之而要解决多屏幕的问题。应运而生, Apple 在Xcode给开发者提供了storyboard同时提供 autolayout,而不再只是autosizing 布局。继iOS7之后Xcode提供了 size class,解决多机种,横竖屏的问题,其中不乏灵巧之道。

    在开发中,我也常常遇到布局问题,其中 UIScrollView 是个令人头疼的问题,按照一般UIView添加约束的方式,UIView完全适配了,但是你再往UIscrollView添加控件会有Error(而不是Warning),对于有开发洁癖的人来说,的确是个头疼的问题,在这种情况下 你可以运行工程,但是Xcode会给你红色的error“Need constraints for:scrollable content width/height.”;


    对于UIView 的适配整个屏幕,也不建议添加四个边距(即top/left/bottom/right),因为你在4寸、4.7寸适配好了,在5.5寸会超出边框,你布局在靠边的控件会超出可视范围,如果是UIImageVIew,图片会超出屏幕。autolayout 默认为你再加-20的边距值,是为了适配5.5寸。建议开发者使用center.x/y的方式,再加上width/height 等于父视图。这样你切换任意size的屏幕,就没有“一像素之差”,你布局完成过后也不会有超出屏幕的现象!


    此时是不是有解决的办法呢,的确;你可以为UIScrollView固定大小,即width/height等于固定值,但是你的项目要求是满屏或者占屏幕的几分之几,那么你这么做是不符合要求的,在大屏幕上你看着适合了,小屏幕上你去看绝对太大了,甚至超出屏幕。

   在这里提供一个比较好的方法,给UIScrollView添加一个子view,大小等于自身,添加边距约束(上下左右),宽高equal父视图,这时候没有error,也没有warning;这时候你再往containerView添加控件,按照既定俗成的方式即可!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值