NSLayoutConstraint 使用详解 VFL使用介绍
注意
使用前必须先取消所有的你想设置View 的 Autoresizing 属性 因为 Autoresizing Layout不能共存 系统默认是 Autoresizing
for v in subviews { v.translatesAutoresizingMaskIntoConstraints=false }
- 自动布局核心公式
view1.attr1 = view2.attr2 * multiplier + constant
- 自动布局构造函数
NSLayoutConstraint(item: 视图, 
    attribute: 约束属性, 
    relatedBy: 约束关系, 
    toItem: 参照视图, 
    attribute: 参照属性, 
    multiplier: 乘积, 
    constant: 约束数值)
- 
如果指定 宽高约束- 参照视图设置为 nil
- 参照属性选择 .NotAnAttribute
 
- 参照视图设置为 
- 
自动布局类函数 
NSLayoutConstraint.constraintsWithVisualFormat(VLF公式, 
    options: [], 
    metrics: 约束数值字典 [String: 数值], 
    views: 视图字典 [String: 子视图])
- 
VFL 可视化格式语言 - H水平方向
- V垂直方向
- |边界
- []包含控件的名称字符串,对应关系在- views字典中定义
- ()定义控件的宽/高,可以在- metrics中指定
 
// icon布局 上下左右居中 addConstraint(NSLayoutConstraint(item: iconView, attribute: .centerX, relatedBy: .equal, toItem: self, attribute: .centerX, multiplier: 1.0, constant: 0)) addConstraint(NSLayoutConstraint(item: iconView, attribute: .centerY, relatedBy: .equal, toItem: self, attribute: .centerY, multiplier: 1.0, constant: -50)) maskiconView 和屏幕等宽 和屏幕顶部对齐 距离 loginBtn顶部 -35 距离 let viewDic : [String : Any] = ["maskiconView":maskiconView,"loginBtn":loginBtn] let metricDic = ["spacing":-35] addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "H:|-0-[maskiconView]-0-|", options: [], metrics: nil, views: viewDic)) addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:|-0-[maskiconView]-(spacing)-[loginBtn]", options: [], metrics: metricDic, views: viewDic))
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号