• 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))
  • 相关阅读:
    Gvim快捷键学习
    一步一步学习Vim 全图解释
    经典vim插件功能说明、安装方法和使用方法介绍
    中国数学数字图书馆
    RQNOJ第一题---PID1 / 明明的随机数
    gdb常用命令
    linux c下mysql编程样例
    linux c编程 -- 线程互斥
    linux c多线程编程范例
    数据结构 -- 可重用模块的接口设计模板
  • 原文地址:https://www.cnblogs.com/ZhangShengjie/p/6808609.html
Copyright © 2020-2023  润新知