iOS AutoLayout阅读笔记2------>子视图固定比例分割父视图的简单实现
来源:互联网 发布:软件可靠性英文 编辑:程序博客网 时间:2024/05/22 05:25
这个操蛋的东西,早期在面试的时候有被问到过,当时好像没答出来,现在一看,你妹啊,那么简单
来来来,直接上图
1.首先新建一个工程,然后拉入一个UIView,第一步,做约束啊少年,这个应该问题不大,如下
2.第二步先把咱们这个容器View需要的东西关联下
注:约束也是对象,和控件一样,按住CTRL,直接拽出来就好了
3.假如有需求要求里面有三个控件,分别按2:3:5分割父视图的高度,而且无论容器View(父视图)怎么变,内部都是以2:3:5的比例分割
先添加一个进去 由于操作都是类似,只演示一个
先定三边,按箭头所示选择三边的约束
然后对高度进行约束,还是按住CTRL,拖到其父视图位子,就会出现如下的灰色浮窗,由于咱们现在是对高度进行约束所以选择Equal heights,先这么选,等下再改
选完之后就会出现如下的视图,然后我们点击那个约束,右侧就会弹出对应约束的各种属性,我们根据需求2:3:5的需求,自行修改Mutiplier的值,默认是1(Equal),我们改为需要的0.2
改完之后线还是黄色的啊,也就是需要更新下位子(如果出现红色的线,那么就是约束不完整或者冲突了)
我习惯快捷键command + ALT + = 或者 选择右下角这个按钮,点击Updates Frames即可变成如下成功的约束(蓝色的)
把剩下的两个也添加完,效果如下
4.约束加完了,我们现在开始加一丢丢代码,就可以做到了
<span style="font-size:14px;">- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ CGFloat length = arc4random() % 200; [UIView animateWithDuration:0.8 animations:^{ self.bottomContraint.constant = length; self.rightContraint.constant = length; [self.animationView layoutIfNeeded]; }];}</span>
OK,做完了,现在点击屏幕触发这个方法,我们的父视图会各种变大变小,但是内部永远是按着2:3:5的比例进行分割的
效果如下
Over~~~
0 0
- iOS AutoLayout阅读笔记2------>子视图固定比例分割父视图的简单实现
- IOS Autolayout(VFL) 处理子视图居中
- IOS Autolayout(VFL) 处理子视图居中
- (iOS开发)AutoLayOut中等比例设置视图
- iOS 如何实现父视图透明度变化,它的子视图不变
- iOS 子视图在父视图的显示范围
- iOS 子视图 父视图 UIView 相关的方法
- iOS移除父视图的子视图
- iOS 父视图与子视图
- iOS父视图拦截子视图事件
- IOS autoLayout 让视图居中
- ios获取子视图在父视图的父视图的坐标
- 关于iOS父(容器)视图控制器管理子视图控制器的根视图的思考总结
- iOS 子视图加入到父视图及移除父视图的过程
- ScrollView 实现子视图滑动到顶部时固定不动
- 超出父视图的子视图事件
- 使用AutoLayout 是否能实现A视图宽是B视图的3倍,B视图的宽是A视图的2倍
- MFC静态分割视图窗口,切换,固定
- poj 2506
- JS 页面时间的停止与开始
- fpga 学习过程
- Servlet监听器listener
- (selenium 二)登陆页面
- iOS AutoLayout阅读笔记2------>子视图固定比例分割父视图的简单实现
- 简单理解Socket
- OC语言4-内存管理
- Flask Web 开发学习稿(一)
- 6款市面上的采集软件
- JS--时间器控制图片显示
- 线性筛法
- hdu 1532/poj 1273 Drainage Ditches(最大流模板)
- UNIX , LINUX , GNU 相关 | 前言