为什么使用两种类型(边界/框架)来描述视图而不是一个?

Pwn*_*Pwn 1 xcode cocoa objective-c ios

我想知道为什么有两种类型(边界/框架)来描述视图.由于更改视图的bounds.size.*也会更改该视图的frame.size.*,反之亦然,这意味着框架和边界之间的唯一区别是它们的原点,那么为什么我们需要两种不同的类型来描述视图几何?顺便说一下bounds.origin到底意味着什么?

Dr.*_*eon 7

取自CocoaDev:

  • 是在视图的坐标空间表示上海华.
  • 边界在视图的表达自己的坐标空间.

视觉解释(Apple Developer Reference):

在此输入图像描述

参考: http ://developer.apple.com/documentation/Cocoa/Conceptual/DrawViews/Concepts/ViewHierarchy.html

  • 边界可以更大并且具有与框架不同的原点; 例如滚动视图的工作方式.当用户移动边界时,滚动视图的框架保持固定. (2认同)