美文网首页
frame和bounds

frame和bounds

作者: 笑破天 | 来源:发表于2022-08-05 22:05 被阅读0次

bounds:自身左上角在自身坐标系中的坐标(左上角相对于自身(0,0)点的偏移量)
frame:自身左上角在父视图坐标系中的坐标(左上角相对于父View(0,0)点的偏移量)

bounds和frame都是自身左上角相对于坐标系原点的偏移,不同在于一个是相对于自身坐标系,一个是相对于父坐标系。

注意

1.修改bounds时不会影响自身相对屏幕的位置,会影响子视图的位置。子视图实际位置=父视图实际位置-父视图bounds坐标+子视图frame坐标
2.旋转之后view.frame变大,为其形状的外接的最小的矩形(与坐标系方向相同的矩形)。而 view.bounds 没有变化。
3.应用是模仿系统UIScrollView的实现

总结

frame不管对于位置还是大小,改变的都是自己本身。
frame的位置是以父视图的坐标系为参照,从而确定当前视图在父视图中的位置。
frame的大小改变时,当前视图的左上角位置不会发生改变,只是大小发生改变。
bounds改变位置时,改变的是子视图的位置,自身没有影响;其实就是改变了本身的坐标系原点,默认本身坐标系的原点是左上角。
bounds的大小改变时,当前视图的中心点不会发生改变,当前视图的大小发生改变,看起来效果就想缩放一样。

改变bounds位置其实是改了自身坐标系原点,原理是更改左上角在自身坐标系中的坐标。例如bounds=(-20,-20)表示设置自身左上角在自身坐标系中的坐标是(-20,-20),那么自身坐标原点就右下方各下移20,再加上子view的frame.origin的值就是子view的实际位置。

参考:
IOS 中frame与bounds的区别
iOS frame和Bounds 以及frame和bounds区别

相关文章

  • iOS 面试题目

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

  • bounds、scrollView滚动原理

    bounds本质:修改内容原点位置。frame和bounds都是描述的一个矩形。frame:可视范围bounds:...

  • iOS学习心得之:frame & bounds

    frame & bounds 浅显的理解的话 ** frame ** 代表元素的位置和大小.而 bounds 值...

  • bounds

    当bounds大小不变时不会影响frame,但是当bounds大小改变时会影响frame原点和大小,bounds原...

  • iOS纪录

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

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

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

  • bounds和frame

    bounds的设置会改变frame,改变的计算方式是什么?

  • Bounds和frame

    frame:以父控件左上角为原点,描述可视范围。 bounds:以自己的左上角为原点,描述可视范围在内容的区域。所...

  • Frame和bounds

    写了一个纯代码tableView嵌套collectionView的demo,最后结束的时候发现图片显示乱七八糟,初...

  • frame 和 bounds

    修改 bounds 不会影响 frame 修改 bounds 只会影响子 View 的显示位置,左正右负,上正下负

网友评论

      本文标题:frame和bounds

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