AutoLayout
文章平均质量分 80
Longshihua
喜欢iOS开发,目前在上海工作!专注Swift学习!
展开
-
WKWebView遇上UIScrollView,动态获取WKWebView的高度
开发过程中经常会碰到这样的需求,顶部是自定义的UIView,下面是使用webView,然后实现一起滚动。需求如下图:实现思路也简单,可以使用UIScrollView为父视图,自定义view和webView作为子视图,或者使用UITableView,自定义view作为tableHeaderView,webView添加到UITableViewCell上。关键是如何获取高度。这里通过原创 2017-11-20 20:40:18 · 7138 阅读 · 0 评论 -
Swift4 - 动态计算UITableView中tableHeaderView的高度
开发的过程中,经常使用UITableView的tableHeaderView视图,对于固定高度的tableHeaderView,我们使用非常简单。创建一个自定义视图,计算好固定高度即可。如果要动态更新tableHeaderView的高度,仅仅是将自定义的view进行计算高度,有时候我们会发现tableHeaderView高度还是原来的高度,没有发生变化,在是显示的内容变多之后,会有部分内容看不到。原创 2017-11-21 20:28:35 · 5269 阅读 · 1 评论 -
iOS9 - UIStackView
UIStackView在iOS9中苹果在UIKit框架中引入了一个新的视图类UIStackView。UIStackView类提供了一个高效的接口用于平铺一行或一列的视图组合。UIStackView视图管理着所有在它的arrangedSubviews属性中的视图的布局。这些视图根据它们在 arrangedSubviews数组中的顺序沿着 stackView视图的轴原创 2017-12-25 11:28:34 · 1474 阅读 · 0 评论 -
Swift - TableViewCell高度动态计算
在iOS8,我们为了允许cell自动计算高度,必须注意以下几点:1:当创建UITableViewCell的时候使用Auto Layout布局子视图,添加对应的约束( leading, top, trailing and bottom constraints)2:设置tableView的rowHeight为UITableViewAutomaticDimension原创 2017-12-16 21:49:30 · 4487 阅读 · 0 评论 -
AutoLayout - NSLayoutConstraint
什么是NSLayoutConstraintNSLayoutConstraint由名字翻译过去就是布局约束。该类是表示用户界面上两个对象之间的布局关系,并且该关系必须满足基本约束的布局系统。解析约束(Constraint)布局视图(view)定义为一系列的线性方程,每一个约束(constraint)都代表一个方程,格式如下:上面的约束表示RedView的左边距(left或原创 2018-01-31 10:40:08 · 407 阅读 · 0 评论 -
AutoLayout - 内容压缩阻力(Content Compression Resistance)和内容吸附(Content Hugging)
在使用Storyboard进行UI布局的时候,我们应该可以看到视图的两个属性:“Content Compression Resistance Priority”和“Content Hugging Priority”.比如:在Storyboard中添加一个label,然后设置垂直、水平居中的约束,选择按钮,点击show the size inspector(即右侧倒数第二个图标),就可以看到下面的内...原创 2018-04-10 09:17:14 · 968 阅读 · 0 评论 -
Autolayout - NSLayoutAnchor
iOS9引入了NSLayoutAnchor来固定视图的约束。NSLayoutAnchor是工厂类可以快速创建布局对象,它的出现可以让代码变得更加简洁,而且可以有静态检查能力,并提供了额外的约束正确保证。并且Apple推荐使用NSLayoutAnchor进行布局而不是使用NSLayoutConstraint。NSLayoutAnchorNSLayoutAnchor有3个子类:NSLayoutXAxi...原创 2018-04-25 17:48:39 · 1621 阅读 · 0 评论 -
Autolayout - Changing Constraint
在iOS中进行布局,现在基本上是使用Autolayout,所以不免有时候需要对约束进行修改,比如:修改约束,或者为视图添加动画. 对于改变约束其实就是修改潜在的约束公式,如下: 那么有哪些行为会改变约束呢?1) 生效和失效约束(Activating or deactivating a constraint)2)改变约束的常量值(Changing the constrain...原创 2018-04-26 17:08:36 · 695 阅读 · 0 评论 -
SnapKit - 修改约束
AutoLayout现在是iOS开发布局的必备,对于使用Swift语言开发的项目,我们经常使用SnapKit进行UI布局,因为使用简单,方便。基本的使用方法官方已经写的非常详情了,可以看这里。官方为我们提供了几种方式来修改约束,先了解一下:1、引用约束(References)我们能够声明一个局部变量或者类属性来引用我们想要修改的约束,也可以使用数组存储引用多个约束,然后对引用的约束进行修改var ...原创 2018-05-14 17:56:20 · 11127 阅读 · 0 评论