屏幕适配、Autoresizing、Autolayout
2015-06-27 16:23
302 查看
屏幕适配、Autoresizing、Autolayout、
标签(空格分隔): ios基础屏幕适配
iPhone4之前
没有适配,不用适配经常会出现坐标值写死的代码
//#define ScreenW 320 //#define ScreenH 480 #define ScreenW [UIScreen mainScreen].bounds.size.width #define ScreenH [UIScreen mainScreen].bounds.size.height // 创建一个显示在屏幕右下角的按钮 CGFloat buttonW = 100; CGFloat buttonH = 50; button.frame = CGRectMake(ScreenW - buttonW, ScreenH - buttonH, buttonW, buttonH);
iPad出现以后
需要横竖屏适配出现了一种方便的屏幕适配技术:Autoresizing
局限性:仅仅能解决子控件和父控件之间的相对关系问题
iOS6开始(Xcode4开始)
出现了一种新的屏幕适配技术:Autolayout解决任何控件之间的相对关系问题
iOS8开始(Xcode6开始)
出现了一种新的屏幕适配技术:SizeclassAutoresizing
注意点:- UIViewAutoresizingFlexible
LeftMargin = 1 << 0,
- 距离父控件
左边的间距是伸缩的
- UIViewAutoresizingFlexible
RightMargin = 1 << 2,
- 距离父控件
右边的间距是伸缩的
- UIViewAutoresizingFlexible
TopMargin = 1 << 3,
- 距离父控件
上边的间距是伸缩的
- UIViewAutoresizingFlexible
BottomMargin = 1 << 5
- 距离父控件
下边的间距是伸缩的
- UIViewAutoresizingFlexible
Width= 1 << 1,
-
宽度跟随父控件
宽度进行伸缩
- UIViewAutoresizingFlexible
Height= 1 << 4,
-
高度跟随父控件
高度进行伸缩
Autolayout
2个核心概念
约束尺寸约束
width约束
height约束
位置约束
间距约束(上下左右间距)
参照
所添加的约束跟哪个控件有关(相对于哪个控件来说)
常见单词
Leading -> Left -> 左边Trailing -> Right -> 右边
UILabel实现包裹内容
设置宽度约束为 <= 固定值设置位置约束
不用去设置高度约束
相关文章推荐
- NSNull 和 nil 的判断
- 2008的FTP服务器搭建
- AC自己主动机 总结
- Ubuntu 扩大虚拟机系统磁盘空间
- Date and Time in C++
- 第三章 类和对象
- RUBY-字符串操作
- Keynetix KeyAGS Professional v4.4.4.50 Win32_64 2CD(完整阵列的现场调查数据的处理工具)
- Poj 3278 Catch That Cow
- android 开源框架Universal-Image-Loader解析
- [iOS AFNetworking框架实现HTTP请求、多文件图片上传下载]
- 2008的WEB站点服务
- Algor Pipepak v23.0.SP1 1CD(管线设计分析软件)/Algor v23
- 更新centos6.5yum源
- scrollView的监听,NSTimer的使用
- android笔记之在WebView中显示ProgressBar的两种方法
- Schlumberger.SPAN.Rock.v9.1.5 1CD跨度岩石强调岩石射孔分析软件
- SynaptiCAD.AllProducts.v19.00c windows32 64/linux32 64 SOLARIS(电子设计自动化工具集)
- CSDN上其他人的几个博客和链接
- Sql入门---------结合表查询