iOS AutoLayout自动布局中级开发教程(2)-等宽等高等中心
2019独角兽企业重金招聘Python工程师标准>>>
iOS AutoLayout自动布局中级开发教程(3)-等宽等高等中心
分类: iOS开发2015-01-23 23:36 1273人阅读 评论(0) 收藏 举报
autolayout高级教程等高等宽等中心
前面讲到了一些关于边界约束的知识,但那些基础知识来解决一些实际问题还是会有点力不从心的;所以我们需要更高级的设置约束的办法,设置等高等宽等中心:
见下图:
图中有3个button按钮, 现在要求3个button等宽,等高 , 且 垂直中心在一条线上,这该如何设置?
按照前面的说法,约束其实是一次方程组的求解,那么 通过观察可以得之,如果我们设置好了button之间的左右边界约束,然后再让3个button等宽就可以;
那么就会有 3x = 宽度; 所以 每一个Button的宽度就可以计算出来了给button1添加 top约束
具体做法:
首先设置好 Button之间的边界约束(先不要update Frames),假设都为20,
等宽 设法:
选中button2 ,按住 control 鼠标拖拽一条线到 button1上会出现如下 选项:
选择Equal Widths等宽, Equal Heights等高, center Y垂直中心 相等 (可能会 略有 偏差, centerY 的值是可以调节的! 默认的 center Y就是决定你当前的在的位置 )
button 3 的操作类似, 那么可以 想向 button1,2,3都会在 同一水平线上了,宽度高度也都相等了!
效果如下:
大家可以看到,出现了宽度高度都相等的 按钮,但是 button 3为什么 不和其他两个 button 在一条水平线上呢?
这是因为 center Y默认 值会根据你的实际位置 进行调整,所以如果你需要 水平齐,需要 修改 centerY 的值为0即可!
修改 center Y的值即可
可以看出,这个设置的关键点是 :从一个 视图 按住 control 拖拽到另一个 视图(包括父视图)来产生 ,宽高,中心,边界的关系!
我们需要根据实际情况进行调整 其值!
即使是刚才设置的 约束 是 等宽的也是可以 随意调节 每一个 按钮的宽度的 ,如下图
可以改变其值,原理 类似 于 从 3x = K ,变为了 1x +1.5x +2x =K是一样的道理,那么每一个视图的宽度就算出来了!
总结一下:
我们通过 按住 选中一个 视图后 ,按住 control 拖拽到另外一个视图上 ,那么就可以设置两个 视图的关系!
补充:
center X可以设置,两个 视图(包括子视图和父视图)之间的 水平中心在一条线上:
如下图是 center X相等的 一些视图,大家可以看到 一条很长的线的提示!
从Button4 拖拽到 他的父视图 view上可以见到如下的选项,也可以拖拽到 左边的 视图列表(选项更多!)
拖拽松手看到如下选项:
我们选择 Center Horizontally ...就可以设置 button4的中心与 父视图(或其他视图)的水平中心是在一条线上了!
Center Vert...就是 Center Y,垂直中心相等
ps:如果你需要 左右移动,或者 上线移动,只需改变 Center X或 Center Y的值即可!
把 所有的 center X和 center Y改为 0即可看到如下效果:
转载于:https://my.oschina.net/fadoudou/blog/510783
iOS AutoLayout自动布局中级开发教程(2)-等宽等高等中心相关推荐
- iOS Touch ID 简易开发教程
基础知识 支持系统和机型 iOS系统的指纹识别功能最低支持的机型为iPhone 5s,最低支持系统为iOS 8,虽然安装iOS 7系统的5s机型可以使用系统提供的指纹解锁功能,但由于API并未开放,所 ...
- ios 扇形 按钮_iOS开发教程之扇形动画的实现
前言 最近比较闲,正好利用这段时间把现在项目用的东西封装一下,方便以后复用,当然好的东西还是要分享.一起学习,一起进步. 看图片,很显然这是一个扇形图,相信大家对做扇形图得心应手,可能对做扇形动画有一 ...
- ios -使用NSLayoutConstraint实现多个view等宽等高等间距
@interface ViewController () {UIView *firstView;UIView *secondView;UIView *thirdView;} @end@implemen ...
- iOS 11开发教程(二十二)iOS11应用视图实现按钮的响应(2)
iOS 11开发教程(二十二)iOS11应用视图实现按钮的响应(2) 此时,当用户轻拍按钮后,一个叫tapButton()的方法就会被触发. 注意:以上这一种方式是动作声明和关联一起进行的,还有一种先 ...
- iOS 11开发教程(二十一)iOS11应用视图美化按钮之实现按钮的响应(1)
iOS 11开发教程(二十一)iOS11应用视图美化按钮之实现按钮的响应(1) 按钮主要是实现用户交互的,即实现响应.按钮实现响应的方式可以根据添加按钮的不同分为两种:一种是编辑界面添加按钮实现的响应 ...
- iOS 11开发教程(二十)iOS11应用视图美化按钮之设置按钮的状态
iOS 11开发教程(二十)iOS11应用视图美化按钮之设置按钮的状态 在示例2-2中,设置按钮的标题和颜色时,需要对按钮的状态进行设置,表示按钮在某一状态下的标题和标题颜色是什么样子.例如,UICo ...
- iOS 11开发教程(十九)iOS11应用视图美化按钮之设置按钮的外观
iOS 11开发教程(十八)iOS11应用视图美化按钮之设置按钮的外观 美化按钮说白了就是对按钮的属性进行设置,设置按钮的属性有两种方法:一种是使用编辑界面中的属性检查器:另一种是使用代码进行设置.以 ...
- iOS 11开发教程(十八)iOS11应用视图之使用代码添加按钮
iOS 11开发教程(十八)iOS11应用视图之使用代码添加按钮 由于使用编辑界面添加视图的方式比较简单,所以不在介绍.这里,直接讲解代码中如何添加.使用代码为主视图添加一个按钮的方式和在1.3.3节 ...
- iOS 11开发教程(十七)iOS11应用视图之使用按钮接收用户输入
iOS 11开发教程(十七)iOS11应用视图之使用按钮接收用户输入 在iOS中提供了很多的控件以及视图来丰富用户界面,对于这些视图以及控件我们在上一章中做了简单的介绍.本章我们将详细讲解这些视图. ...
- iOS 11开发教程(十六)iOS11应用视图之删除空白视图
iOS 11开发教程(十六)iOS11应用视图之删除空白视图 当开发者不再需要主视图的某一视图时,可以将该视图删除.实现此功能需要使用到removeFromSuperview()方法,其语法形式如下: ...
最新文章
- mysql 主从 cap_Mysql 主从同步 slave_sql_running 为no
- 创建ACCESS数据库,并且创建表和数据。重点:关闭ACCESS数据库引用
- JavaScript实现表单的分向提交
- Rafy 框架 - 幽灵插件(假删除)
- iis开启php验证码,php结合GD库实现中文验证码的简单方法
- 经典:比尔·盖茨的创业智慧
- ad导出元件清单_【原创分享】 Altium Designer 一键导出坐标和BOM脚本,V0.6
- vb不能插入png图片_收藏备用!!VBA操作图片【插入导出删除】
- 南丁格尔邮票图片大全_【鉴赏】武夷山普通纪念币鉴赏(高清图片)
- MVC4发布到IIS,出现HTTP 错误 404.0 - Not Found的解决方法
- wps交叉表_WPS Office
- python机器学习教程_从零开始掌握Python机器学习:十四步教程
- 接口测试面试题及参考答案(汇总),真香
- 数据抽取的常见理论方法
- 新建 FrameMaker API 时引用目录的设置
- 电脑开机启动项选择快捷键大全
- 《童虎学习笔记》14分钟结合ProxySQL处理超半数MGR节点故障
- 我是如何把一套GitLab CI/CD课程做到全网第一的?
- 我裁完兄弟后,辞职了,转行做了一名小职员
- Unity SKFramework框架(十七)、FreeCameraController 上帝视角/自由视角相机控制脚本
热门文章
- python从键盘输入一个字符串、将小写字母_# 每日一道面试题 # 从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件test中保存。...
- 凸优化第四章凸优化问题 4.3线性规划问题
- 现代通信原理10.2:采用匹配滤波器的数字基带传输系统误码性能分析
- 【ML小结14】条件随机场CRF
- 如何使用 python 爬取全国小区名称
- 【Gym-100889 H】Hitting Points【凸包三分】
- python二级基础题,计算机二级python部分基础操作题
- 匈牙利算法求最大匹配(HDU-4185 Oil Skimming)
- 工厂设计模式究竟怎么写更优雅?!
- _itemmod_refresh