为什么UIView中有框架矩形和边界矩形?

Tha*_*nks 42 iphone ios

虽然它在黑暗的夜晚很晚,但我不明白为什么有两个不同的矩形:框架和边界.

就像我理解的那样,只需要一个矩形来完成所有事情.将View本身相对于另一个坐标系定位,然后将其内容剪切为指定的大小.你还会用两个矩形做什么?他们如何互相互动?

有没有人有一个很好的解释?来自苹果医生和孩子拿着水果的那个人不太了解.

ama*_*ttn 83

这是备忘单:

  • frame是视图的位置(关于superview)
  • bounds允许视图绘制的位置(相对于自身)

更多澄清:

如果要将视图定位在其超视图中,则几乎总是更改帧原点.

如果你正在绘制UIView绘制的地方,你几乎总是修改它的边界.

请注意,您可以拥有大于框架的边界.也就是说,你可以画出你所在位置的"外线".


Tra*_*sen 5

Frame位于superview的坐标系中,bounds位于视图的坐标系中.从我的角度来看,两者都很方便.帧似乎是两者中更有用的,除非在某些情况下我不知道子视图可以具有完全不同的坐标系(例如,缩放的像素),而不是超视图.