autolayout高度动态改变的一些体会

  autolayout这个东西就不在此说明了,网上已经有不少大神作了很详细的讲解,本身也看了很多好文章,在这里只是想记录一下本身初步的一些认识与体会,这个东西毕竟仍是很强大,若是要用到更高级的用法还得在研究。布局

  首页这边先描述一个动态cell,而后先进行一些必要的布局,布局完大概是这个样子学习

主要是关注测试label,标题和图片的布局这边只要固定边距或固定宽高就能够了。首先有没有一种状况就是cell高度固定,而后让这个测试label动态增加到必定行数,假设测试label动态增加到2行,那咱们首页就要设置label的属性numLines = 2,接下来给测试label添加以下约束,这边设置好顶部,左边,右边的三边距约束,这样cell就会自动 增加到你指定的行数,如今是长这样,固然由于行数固定了,因此字数太多超多你的行数时,仍是会显示不全的,可是有时候cell长同样高的话可能会用到,可是你要预估好不要让label行数过大而增加到盖住你下面的控件。测试

  除了这种状况还有一种也可能会常常碰到的那就是cell根据文字多少自增加,仍是以这个cell为例子删掉以前的约束,从新约束这个测试label,测试label不管底部有没有控件必须必须知足到三边的约束,加一个宽度。若是底部没有控件,直接设置到底部约束。若是像这个底部有控件就设置到底部的约束,在设置好底部控件的约束。这边暂时不清楚为何四边距约束没法使label动态增加,还得多多学习啊~~。设置的约束大概是这样子,这边的宽度若是这样固定是有问题的,并且有时须要根据屏幕改变这个宽度约束,还好咱们能够像拉控件同样让这个宽度约束成为一个属性,而后在这个自定义cell里面添加这个方法3d

 固然宽度约束是能够改到适合的。设置完约束后,还须要在控制器的数据源方法中添加相似的以下代码blog

最后这边经过切换能够看到动态改变cell的高度,此次笔记就这样了,虽然页面看起来有点丑~~图片

相关文章
相关标签/搜索