2013-05-02 72 views
1

我有一个简单的测试应用程序,有一个视图,一个视图控制器,所有这些都通过标准的故事板实例化。当我运行我的应用程序和暂停在我的视图控制器断点我可以看到,下面的值是在该视图中设置:什么决定了CALayer.position的初始值?

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的值在哪里?我对此感到困惑。

回答

3

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

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

+0

这使得一吨的感觉。感谢您的明确解释! – jgraves 2013-05-05 05:48:57

相关问题