凌雪
2018-10-23
来源 :网络
阅读 1282
评论 0
摘要:本文将带你了解IOS开发入门ios开发中frame和bounds的知识点,希望本文对大家学IOS有所帮助。
本文将带你了解IOS开发入门ios开发中frame和bounds的知识点,希望本文对大家学IOS有所帮助。
ios中的frame和bounds我们应该接触的都很多了,在这里记录下他们的一些知识点吧。
一般来说控件的frame 是由 控件的center属性 和bounds 以及transform来决定的。
我们改变了center,就会改变frame,以及我们如果改变了bounds的宽度和高度也是会改变的,还有就是transform,比如说缩放旋转位移。改变transform就是让bounds去和transform来计算然后再和center叠加一下就可以算出frame。
如果我们改变了父控件的bounds,则子控件的frame是根据父控件的本地的坐标来计算的。比如说我们这么写
UIView * view = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];
view.backgroundColor = [UIColor blueColor];
view.bounds = CGRectMake(-50, -50, 100, 100);
UIView *view1 = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 50, 50)];
[view addSubview:view1];
view1.backgroundColor = [UIColor redColor];
会有这样的效果
其实UIScrollView的contentOffset其实就是就是通过bounds来计算出来的,可能就是底层转换了下。我试了下UITableViewController的tableView的bounds和contentOffset是一样的如下图所示
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之IOS频道!
喜欢 | 0
不喜欢 | 0
您输入的评论内容中包含违禁敏感词
我知道了

请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号