美文网首页
frame 和 bounds的区别

frame 和 bounds的区别

作者: 凡尘一笑 | 来源:发表于2016-07-29 17:18 被阅读76次

很多iOS程序员在面试时候都会被问到frame和bounds的区别

很多人都这么回答frame就是相对父控件左上角的位置和大小

bounds就是相对自身左上角的位置大小,其实相对位置就是零

其实这种回答不是很准确,只能说是百分之五十对。为什么呢,如果面试官再追问:那这么说bounds的X ,Y 就永远都是零 ? 这时候你如果说是,那就错了,如果你说不是,那么就和你刚才的回答有点对不上,所以,其实不是这样,bounds的X、 Y的值是可以改变的。改变的其实是控件的内容的位置,所以控件本身的位置是不会变的,但是该控件的子控件位置就会发生改变。

其实正确的回答应该是这样的

- frame
    - 以`父控件` `内容`的左上角为坐标原点, 计算出的`控件自己` `矩形框`的位置和尺寸
- bounds
    - 以`控件自己` `内容`的左上角为坐标原点, 计算出的`控件自己` `矩形框`的位置和尺寸
- 概括
    - frame.size == bounds.size
    - scrollView.bounds.origin == scrollView.contentOffset

为了方便理解,我给大家来一张图就很容易理解了

bounds和frame的区别.png

为什么我们要这样说呢,很简单的一个道理,UIScrollView有个contentSize这个属性,其实是相对UIScrollView的“内容”的位置

备注:

如果有不足或者错误的地方还望各位读者批评指正,可以评论留言,笔者收到后第一时间回复。

QQ/微信:2366889552 /lan2018yingwei。

简书号:凡尘一笑:[简书]

http://www.jianshu.com/users/0158007b8d17/latest_articles

感谢各位观众老爷的阅读,如果觉得笔者写的还凑合,可以关注或收藏一下,不定期分享一些好玩的实用的demo给大家。

文/凡尘一笑(简书作者)

原文链接: http://www.jianshu.com/p/8ae080edb3ea

著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

相关文章

  • iOS纪录

    (1)View的Frame与Bounds区别 摘自 ios view的frame和bounds之区别(位置和大小)...

  • 深入探究frame和bounds的区别以及setbounds使用

    深入探究frame和bounds的区别以及setbounds使用 深入探究frame和bounds的区别以及set...

  • iOS 面试题目

    1、iOS frame和Bounds 以及frame和bounds区别2、 ios webView 加载HTML字...

  • #1 布局相关的问题集合

    1.frame 和 bounds的区别 what's the difference bewteen frame a...

  • UI基础相关

    UI基础相关: Frame 和 bounds的区别:Frame是参照父控件的 bounds是参照自己的 默认是(0...

  • frame和bounds区别

    1、frame不管对于位置还是大小,改变的都是自己本身 2、frame的位置是以父视图的坐标系为参照,从而确定当前...

  • iOS~ frame 和 bounds 的区别和联系

    推荐文章Understanding UIScrollView 1、 frame 和 bounds 的区别和联系 f...

  • bounds和frame的区别

    此情况下,在view.bounds = CGRectMake(x, y, W, H)中,无论x、y怎么设置最后打印...

  • frame 和 bounds 的区别

    frame frame是每个view必备的属性,代表的是当前视图的位置和大小,没有设置他,当前视图是看不到的。 b...

  • frame和bounds的区别

    frame: 该view在父view坐标系统中的位置和大小。(参照点是,父亲的坐标系统) bounds:该view...

网友评论

      本文标题:frame 和 bounds的区别

      本文链接:https://www.haomeiwen.com/subject/bypzjttx.html