屏幕适配

2017-03-29  本文已影响27人  YANGGQ


Autoresizing

//距离父控件`左边`的间距是伸缩的  
 UIViewAutoresizingFlexible`Left`Margin   = 1 << 0

//距离父控件`右边`的间距是伸缩的  
 UIViewAutoresizingFlexible`Right`Margin  = 1 << 2     

//距离父控件`上边`的间距是伸缩的 
 UIViewAutoresizingFlexible`Top`Margin    = 1 << 3

//距离父控件`下边`的间距是伸缩的
 UIViewAutoresizingFlexible`Bottom`Margin = 1 << 5

//`宽度`跟随父控件`宽度`进行伸缩
 UIViewAutoresizingFlexible`Width`        = 1 << 1

//`高度`跟随父控件`高度`进行伸缩
 UIViewAutoresizingFlexible`Height`       = 1 << 4


Autolayout


iPhone的尺寸
3.5inch、4.0inch、4.7inch、5.5inch

iPad的尺寸
7.9inch、9.7inch、12.9inch

屏幕方向
竖屏
横屏


屏幕点与像数 屏幕分辨率

2个核心概念


常见单词


UILabel实现包裹内容


    self.redViewWlc.constant = 50;

    [UIView animateWithDuration:2.0 animations:^{
        // 强制刷新
        [self.view layoutIfNeeded];
    }];
-(void)addConstraint:(NSLayoutConstraint*)constraint;
-(void)addConstraints:(NSArray*)constraints;
view.translatesAutoresizingMaskIntoConstraints= NO;
 - 添加约束之前,一定要保证相关控件都已经在各自的父控件上
 - 不用再给view设置frame


/*
pview1:要约束的控件
pattr1:约束的类型(做怎样的约束)
prelation:与参照控件之间的关系
pview2:参照的控件
pattr2:约束的类型(做怎样的约束)
pmultiplier:乘数
pc:常量
*/
+(id)constraintWithItem:(id)view1attribute:(NSLayoutAttribute)attr1relatedBy:(NSLayoutRelation)relationtoItem:(id)view2attribute:(NSLayoutAttribute)attr2multiplier:(CGFloat)multiplierconstant:(CGFloat)c;




[UIViewanimateWithDuration:1.0animations:^{
             [添加了约束的view的父控件 layoutIfNeeded];
}];
上一篇 下一篇

猜你喜欢

热点阅读