ios-自动布局的基本原理
来源:互联网 发布:软件数据与金蝶对接 编辑:程序博客网 时间:2024/06/03 04:23
使用自动布局开发,我们最好遵守下面的一些规定
所有使用约束设置位置的控件,不要再去设置frame
因为自动布局系统会根据设置的约束,自动的计算控件的frame
会在layoutSubviews函数中进行设置frame
如果我们去主动的修改了frame,会引起自动布局系统的计算错误
不要在layoutSubviews里面去修改约束,这样会出问题
所有使用约束设置位置的控件,不要再去设置frame
因为自动布局系统会根据设置的约束,自动的计算控件的frame
会在layoutSubviews函数中进行设置frame
如果我们去主动的修改了frame,会引起自动布局系统的计算错误
不要在layoutSubviews里面去修改约束,这样会出问题
自动布局的工作原理,有一个运行循环启动的时候,自动布局的系统就会去收集约束的变化
在运行循环结束之前,会去调用layoutSubviews函数就行统一的设置frame
如果我们想要某些约束提前进行更新,我们就可以使用layoutIfNeeded,去提前的更新这些约束
下面附上修改约束执行动画的代码
//设置动画效果,改变约束的位置,约束的修改是瞬时性的和frame不一样,所以放在动画中是无效的,修改frame是可动画属性 view.addConstraint(NSLayoutConstraint(item: iconView, attribute:.bottom, relatedBy: .equal, toItem: view, attribute: .bottom, multiplier:1, constant: -view.bounds.size.height+200)) self.updateViewConstraints() //设置WelcomeLabel的透明度为0 welcomeLabel.alpha = 0 UIView.animate(withDuration: 1.3, delay: 0, usingSpringWithDamping: 0.87, initialSpringVelocity: 11, options: [], animations: { //有需要刷新的标记立刻调用layoutSubviews进行刷新 self.view.layoutIfNeeded() }) { (_) in UIView.animate(withDuration: 1.2, delay: 0, options: [], animations: { //设置welecomeLabel的透明度为1 self.welcomeLabel.alpha = 1 }, completion: { (_) in }) }
阅读全文
0 0
- ios-自动布局的基本原理
- iOS 10 Auto Layout界面自动布局系列1-自动布局的基本原理
- iOS 8 Auto Layout界面自动布局系列1-自动布局的基本原理
- iOS 8 Auto Layout界面自动布局系列1-自动布局的基本原理
- iOS 8 Auto Layout界面自动布局系列1-自动布局的基本原理
- iOS 8 Auto Layout界面自动布局系列1-自动布局的基本原理
- iOS 8 Auto Layout界面自动布局系列1-自动布局的基本原理
- iOS 8 Auto Layout界面自动布局系列1-自动布局的基本原理
- ios 的自动布局
- Auto Layout界面自动布局系列1-自动布局的基本原理
- IOS UIScrollView的自动布局
- IOS Layer的"自动布局"
- IOS UIScrollView的自动布局
- iOS scrollView的自动布局
- iOS开发-自动布局篇:史上最牛的自动布局教学!
- iOS开发-自动布局篇:史上最牛的自动布局教学!
- IOS UIScrollView 自动布局的 滚动问题
- IOS自动布局的一些使用
- Android 端基于 OpenCV 的边框识别功能
- STL-adjacent_find算法
- java实现url编码与中文的互相转换
- NOIP2017金秋冲刺训练营杯联赛模拟大奖赛第二轮Day1
- Beyond Compare过期后怎么接着使用
- ios-自动布局的基本原理
- 清晰的思考艺术
- final关键字、抽象类和接口
- Java知识复习(异常处理)
- Android基础总结八:Fragment的使用
- select()函数_笔记
- iOS横竖屏切换
- html5学习笔记3 HTML简介(二)
- 【ssm框架】枚举类Enum的应用