控件位置与约束

整理各种控件的位置设置及约束方法

屏幕尺寸


屏幕尺寸(以分辨率的像素为单位,后部分的分辨率为尺寸二倍)


- @1x
iPhone & iPod Touch第一代、第二代、第三代  320×480 px


- @2x
iPhone4 - 4S  640×960 px(320×480 @2x,下面直接写)

iPhone5 - 5C  - 5S  320×568

iPhone6 - 6S  375×667


- @3x
iPhone 6Plus - 6S Plus  414x736(开发应按照1242x2208适配)

设置center及size

center和size的设置先后顺序影响最终布局结果。
如果先设置center,由于其尺寸为(0,0),则其origin和center值一致,再设置尺寸相当于设置了一遍frame,而不是按控件的中心位置计算坐标位置。反之则正常,按照控件中心进行定位。
可利用该特性进行分步设置frame。

设置尺寸


    CGRect frame = redView.frame;  
    frame.size = CGSizeMake(150, 150);  
    redView.frame = frame;  

设置center


    CGPoint center = redView.center;  
    center.x = self.view.frame.size.width / 2;  
    center.y = self.view.frame.size.height / 2;  
    redView.center = center;  

参考来源:ios 通过设置UI控件的center和size来设置位置时需注意!

Masonry常用布局方式


make.size.mas_equalTo(CGSizeMake(100, 48));

make.top.equalTo(headerView).with.offset(20);

make.centerX.equalTo(headerView);

make.height.mas_equalTo(48);

make.bottom.equalTo(locationView.mas_top).with.offset(-5);

XIB设置控件圆角或者圆形方式

在XIB的User Defined Runtime Attributes属性中添加以下两个Key Path


//当cornerRadius的值为正方形控件二分之一时,
layer.cornerRadius-number-数值
layer.masksToBounds-bool-YES

待续

你可能感兴趣的:(控件位置与约束)