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))
转载于:https://www.cnblogs.com/ZhangShengjie/p/6808609.html
NSLayoutConstraint 使用详解 VFL使用介绍相关推荐
- 备份数据库的expdp语句_Oracle数据库备份恢复Data Pump Expdp/Impdp参数详解与案例介绍...
oracle数据库备份恢复Data Pump Expdp/Impdp参数详解与案例介绍 目 录 1 Oracle数据泵的介绍 3 2 Oracle expdp/impdp参数使用介绍 3 2.1 Or ...
- c++ memset 语言_C/C++ 中memset() 函数详解及其作用介绍
memset 函数是内存赋值函数,用来给某一块内存空间进行赋值的: 包含在头文件中,可以用它对一片内存空间逐字节进行初始化: 原型为 : void *memset(void *s, int v, si ...
- HDMI ARC功能详解及应用介绍
HDMI ARC功能详解及应用介绍 HDMI ARC,专注于音频传输的方案 ARC的全称为Audio Return Channel,顾名思义也就是音频回传通道.ARC出现的目的,是使整个数字化家电在线 ...
- Java网络编程 Socket、ServerSocket 详解,方法介绍及完整代码示例
Java网络编程 Socket.ServerSocket 详解,方法介绍及完整代码示例 概念 什么是网络编程? 网络编程是指编写运行在多个设备(计算机)的程序,这些设备通过网络连接起来.当这些通过网络 ...
- python中装饰器的作用_Python装饰器详解,详细介绍它的应用场景
装饰器的应用场景附加功能 数据的清理或添加:函数参数类型验证 @require_ints 类似请求前拦截数据格式转换 将函数返回字典改为 JSON/YAML 类似响应后篡改为函数提供额外的数据 moc ...
- Python装饰器详解,详细介绍它的应用场景
装饰器的应用场景 附加功能 数据的清理或添加: 函数参数类型验证 @require_ints 类似请求前拦截 数据格式转换 将函数返回字典改为 JSON/YAML 类似响应后篡改 为函数提供额外的数据 ...
- Bert代码详解及模型介绍
前言 写在前边:很多东西我也仅仅是一知半解,仅仅记录学习过程,个人观点,还需要看大量的代码.必须要耐住性子看代码,别无他法,看的多了自然就会了. 因为个人不用tensorflow,so这是bert的p ...
- 天龙网游帮会玩法详解 帮会系统详细介绍
天龙八部3D帮会系统详细介绍,天龙八部3D帮派不但可以凝聚玩家,帮会还可以让玩家团结在一起打各种副本和活动,多做帮贡还可以购买稀有物品,下面就让小编和大家分享一下天龙八部3D帮会的玩法吧. 帮会界面: ...
- 彩虹表原理详解及工具介绍
PS:这玩意偶前几天用了一下,确实强悍无比,在这个表面前,md5等公开的加密算法不堪一击啊.记得我之前的公司开发的游戏账号都用修改过的特有MD5加密算法,建议开发人员都这样搞,这样安全性就大大提高.如 ...
最新文章
- cocos2d-x的win32编译环境
- c#_static静态
- pytorch系列 ---5以 linear_regression为例讲解神经网络实现基本步骤以及解读nn.Linear函数
- http响应状态码列表
- ip integrator_使用Oracle Data Integrator(和Kafka / MapR流)完善Lambda体系结构
- 2021年国货彩妆品牌推广营销趋势
- linux 文件编码格式转换-转
- 图像卷积详细解释 常用卷积核解释说明
- Linux i2c-tools使用及调试
- macbook 终端命令怎么使用_Mac终端怎么打开?带你全面了解在macOS中使用终端命令行...
- 【ANSYS SCDM】,软件介绍及基本操作
- PPT怎么母版怎么修改及应用
- 码农的奋斗之路 富爸爸穷爸爸系列--提高你的财商 读后感
- 【动态规划 LIS】JZOJ_6310 glo
- 3手机版怎么换行_敬业签手机版便签软件怎么绑定QQ或微信互联登录?
- Python数据分析-北京房价分析
- 【visual studio】visual studio 2022 无法 复制黏贴
- 老电脑深度linux,国产操作系统DEEPIN超越微软WINDOWS成为老电脑福音,进步神速
- KRPano动态热点专用素材图50多个,加动态热点使用方法
- NVIDIA最全马甲对照表
热门文章
- flex 返回数据到 html5,Flex与javascript通信
- mysql sql 一部分记录_MySQL性能优化实践(很全面,值得收藏)
- 使用live555制作rtsp客户端,捕获h264等解码
- 整理一个双向链表list.h
- LINUX的DNS怎么设置?linux下如何修改DNS地址
- Flink】FLink 通讯组件 RPC
- 【Elasticsearch】 Elasticsearch对外提供分词服务实践
- 【ElasticSearch】Es 源码之 Discovery DiscoveryModule 源码解读
- 【MySQL】MySQL 使用where条件的三种方式
- 60-300-024-使用-延迟数据-Flink中延时调用设计与实现