1

我有一个简单的测试应用程序,它有一个视图、一个视图控制器,所有这些都是通过标准故事板实例化的。当我运行我的应用程序并在视图控制器中的断点处暂停时,我可以看到视图上设置了以下值:

self.view.layer.position = (CGPoint) (x=160, y=294)
self.view.layer.frame = (CGRect) (origin=(x=0, y=20) size=(width=320, height=548))
self.view.layer.visibleRect = (CGRect) (origin=(x=0, y=0) size=(width=320, height=548))

我了解框架的初始原点值(假设 20 的值是状态栏的偏移量),但是图层位置的 160/294 值来自哪里?我对这个感到困惑。

4

1 回答 1

3

这是因为 CALayer 的 position 属性是相对于它的anchorPoint. 默认情况下,anchorPoint 设置为 (0.5, 0.5),表示图层边界的中心。

如果您尝试以编程方式执行非常基本的定位更改,我会远离您的视图的图层属性,因为 UIView 具有自己的定位属性。

于 2013-05-02T16:06:31.587 回答