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)-等宽等高等中心相关推荐

  1. iOS Touch ID 简易开发教程

    基础知识 支持系统和机型 iOS系统的指纹识别功能最低支持的机型为iPhone 5s,最低支持系统为iOS 8,虽然安装iOS 7系统的5s机型可以使用系统提供的指纹解锁功能,但由于API并未开放,所 ...

  2. ios 扇形 按钮_iOS开发教程之扇形动画的实现

    前言 最近比较闲,正好利用这段时间把现在项目用的东西封装一下,方便以后复用,当然好的东西还是要分享.一起学习,一起进步. 看图片,很显然这是一个扇形图,相信大家对做扇形图得心应手,可能对做扇形动画有一 ...

  3. ios -使用NSLayoutConstraint实现多个view等宽等高等间距

    @interface ViewController () {UIView *firstView;UIView *secondView;UIView *thirdView;} @end@implemen ...

  4. iOS 11开发教程(二十二)iOS11应用视图实现按钮的响应(2)

    iOS 11开发教程(二十二)iOS11应用视图实现按钮的响应(2) 此时,当用户轻拍按钮后,一个叫tapButton()的方法就会被触发. 注意:以上这一种方式是动作声明和关联一起进行的,还有一种先 ...

  5. iOS 11开发教程(二十一)iOS11应用视图美化按钮之实现按钮的响应(1)

    iOS 11开发教程(二十一)iOS11应用视图美化按钮之实现按钮的响应(1) 按钮主要是实现用户交互的,即实现响应.按钮实现响应的方式可以根据添加按钮的不同分为两种:一种是编辑界面添加按钮实现的响应 ...

  6. iOS 11开发教程(二十)iOS11应用视图美化按钮之设置按钮的状态

    iOS 11开发教程(二十)iOS11应用视图美化按钮之设置按钮的状态 在示例2-2中,设置按钮的标题和颜色时,需要对按钮的状态进行设置,表示按钮在某一状态下的标题和标题颜色是什么样子.例如,UICo ...

  7. iOS 11开发教程(十九)iOS11应用视图美化按钮之设置按钮的外观

    iOS 11开发教程(十八)iOS11应用视图美化按钮之设置按钮的外观 美化按钮说白了就是对按钮的属性进行设置,设置按钮的属性有两种方法:一种是使用编辑界面中的属性检查器:另一种是使用代码进行设置.以 ...

  8. iOS 11开发教程(十八)iOS11应用视图之使用代码添加按钮

    iOS 11开发教程(十八)iOS11应用视图之使用代码添加按钮 由于使用编辑界面添加视图的方式比较简单,所以不在介绍.这里,直接讲解代码中如何添加.使用代码为主视图添加一个按钮的方式和在1.3.3节 ...

  9. iOS 11开发教程(十七)iOS11应用视图之使用按钮接收用户输入

    iOS 11开发教程(十七)iOS11应用视图之使用按钮接收用户输入 在iOS中提供了很多的控件以及视图来丰富用户界面,对于这些视图以及控件我们在上一章中做了简单的介绍.本章我们将详细讲解这些视图. ...

  10. iOS 11开发教程(十六)iOS11应用视图之删除空白视图

    iOS 11开发教程(十六)iOS11应用视图之删除空白视图 当开发者不再需要主视图的某一视图时,可以将该视图删除.实现此功能需要使用到removeFromSuperview()方法,其语法形式如下: ...

最新文章

  1. mysql 主从 cap_Mysql 主从同步 slave_sql_running 为no
  2. 创建ACCESS数据库,并且创建表和数据。重点:关闭ACCESS数据库引用
  3. JavaScript实现表单的分向提交
  4. Rafy 框架 - 幽灵插件(假删除)
  5. iis开启php验证码,php结合GD库实现中文验证码的简单方法
  6. 经典:比尔·盖茨的创业智慧
  7. ad导出元件清单_【原创分享】 Altium Designer 一键导出坐标和BOM脚本,V0.6
  8. vb不能插入png图片_收藏备用!!VBA操作图片【插入导出删除】
  9. 南丁格尔邮票图片大全_【鉴赏】武夷山普通纪念币鉴赏(高清图片)
  10. MVC4发布到IIS,出现HTTP 错误 404.0 - Not Found的解决方法
  11. wps交叉表_WPS Office
  12. python机器学习教程_从零开始掌握Python机器学习:十四步教程
  13. 接口测试面试题及参考答案(汇总),真香
  14. 数据抽取的常见理论方法
  15. 新建 FrameMaker API 时引用目录的设置
  16. 电脑开机启动项选择快捷键大全
  17. 《童虎学习笔记》14分钟结合ProxySQL处理超半数MGR节点故障
  18. 我是如何把一套GitLab CI/CD课程做到全网第一的?
  19. 我裁完兄弟后,辞职了,转行做了一名小职员
  20. Unity SKFramework框架(十七)、FreeCameraController 上帝视角/自由视角相机控制脚本

热门文章

  1. python从键盘输入一个字符串、将小写字母_# 每日一道面试题 # 从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件test中保存。...
  2. 凸优化第四章凸优化问题 4.3线性规划问题
  3. 现代通信原理10.2:采用匹配滤波器的数字基带传输系统误码性能分析
  4. 【ML小结14】条件随机场CRF
  5. 如何使用 python 爬取全国小区名称
  6. 【Gym-100889 H】Hitting Points【凸包三分】
  7. python二级基础题,计算机二级python部分基础操作题
  8. 匈牙利算法求最大匹配(HDU-4185 Oil Skimming)
  9. 工厂设计模式究竟怎么写更优雅?!
  10. _itemmod_refresh