如果它总是=(0,0),那么view.bound.origin的目的是什么?

时间:2015-11-25 16:53:56

标签: ios objective-c swift

我知道如何使用bound.size,但我不理解bound.origin。换句话说,如果它始终等于(0,0)

,我从不使用bound.origin

3 个答案:

答案 0 :(得分:4)

bounds.origin是显示在视图左上角的点。如果将其设置为(0,100),那么(0,100)处的点将显示在视图的左上角;换句话说,视图向上滚动。大多数时候,视图不会滚动,但是当它们出现时,bounds.origin会发生变化。

答案 1 :(得分:1)

视图的边界表示视图在其坐标系中的坐标。在某些情况下修改边界的原点可能很有用。

例如,假设您有一个UIImageView,其contentMode设置为UIViewContentModeCenterclipsToBounds标记设置为YES,想象一下您已设置尺寸大于UIImageView尺寸的图像。这会产生图像“窗口”的效果,其中一些图像被剪切到UIImageView之外。

现在,您可以通过修改UIImageView的边界来修改图像的哪个部分,而无需移动视图!因为您将在自己的坐标系内移动视图。

我不知道这是否足以澄清UIView的界限是什么,以及如何修改其来源有帮助。如果您需要更多解释,请告诉我。

答案 2 :(得分:1)

bounds vs frame的目的是边界总是返回0,0作为x和y,因为它是最左边的点。您通常使用边界来获取视图的宽度和高度。

框架具有宽度和高度,但原点是参考对象的父视图而不是自身。