iOS_适配2
来源:互联网 发布:虎牙直播点歌软件 编辑:程序博客网 时间:2024/05/01 15:37
APP尺寸:
1.根据宽高写frame:
define MYScreenW [UIScreen mainScreen].bounds.size.width
CGFloat btnW = MYScreenW*0.2
2.Autoresizing:
只适配父子关系视图,对兄弟关系的视图无法匹配。
3.AutoLayout:
参照
约束
代码实现步骤:
a.利用NSLayoutConstraint类创建具体的约束对象。
一个NSLayoutConstraint对象就代表一个约束。
创建约束常用的方法:
+(instancetype)constraintWithItem:(id)view1 attribute:(NSLayoutAttribute)attr1 relatedBy:(NSLayoutRelation)relation toItem:(id)view2 attribute:(NSLayoutAttribute)attr2 multiplier:(CGFloat)multiplier constant:(CGFloat)c;
view1:要约束的控件
attr1:约束的类型(做怎样的约束)
relation:与参照控件之间的关系
view2:参照的控件
attr2:约束的类型(做怎样的约束)
multiplier:乘数
c:常量
b.添加约束对象到相应的view上。
-(void)addConstraint:(NSLayoutConstraint*)constraint;
-(void)addConstraints:(NSArray*)constraints;
c.设置view下面的autoresizing功能为NO;
view.translatesAutoresizingMaskIntoConstraints =NO;
d.添加约束之前要保证相关控件都已经在各自的父控件上面.
e.不用再给view设置frame.
f.自动布局的核心公式
obj1.property1 = (obj2.property2*multiplier)+constraint value
g.添加约束规则是在创建约束之后,需要将其添加到作用的view上。在添加时要注意目标view需要遵循以下规则:
&对于两个同层级的view之间的约束关系,添加到他们的父View上。
&对于两个不同层级的view之间的约束关系,添加到他们最近的共同的祖父view上。
&对于有层次关系的两个view之间的约束关系,添加到层次较高的父view上。
4.autolayout+size class:
sizeclass是对当前所有iOS设备的一个抽象。适配iPhone4-5-6-6Plus,iPad,iPadMini,iWatch。
屏幕宽高分为三种情况(Compact,Regular,Any),紧凑、正常和任意,三三整合共9中情况。
具体代码还不会写。只能拖控件加约束设置。
- iOS_适配2
- iOS_适配
- iOS_链式编程2
- iOS_数据库2_基础知识
- IOS_多线程编程2 - NSOperation
- iOS_加密保护2_sqlite
- iOS_多媒体(2)音频播放AVPlayer
- IOS_基础知识
- IOS_多线程
- iOS_视图
- iOS_知识点
- iOS_笔记
- IOS_ CAKeyframeAnimation
- IOS_函数
- iOS_二维码
- iOS_传感器
- iOS_ UISearchBarDelegate
- iOS_多线程
- 如何编写高效率稳定的单片机代码
- 嵌入式linux内核制作
- iOS UITextView 输入内容实时更新cell的高度
- OpenGl法向量计算
- IOSOpenDev越狱开发环境配置
- iOS_适配2
- MYSQL创建唯一索引
- 考研英语单词6—101-120
- 查看MYSQL数据库中所有用户及拥有权限
- 查看Android应用包名package和入口activity名称
- IOS Application生命周期
- Python学习笔记(六) -- Python使用SMTP发送邮件
- 蓝桥杯 结果填空 正六面体染色 Burnside引理
- iOS 页面跳转后更改左边导航栏的文字还有箭头颜色