如何在自定义CALayer中访问interfaceOrientation?

时间:2012-02-15 09:00:58

标签: ios calayer uiinterfaceorientation

我有一个自定义CALayer,它应该在不同的界面方向上看起来不同。 有没有办法可以访问我使用此CALayer的View Controller的interfaceOrientation?

或者我必须在自定义图层中设置一个属性,指示每次更改时的当前方向?

2 个答案:

答案 0 :(得分:1)

您可以在自定义图层上设置属性。

或者您可以为自定义图层指定一个引用视图控制器的属性,以便在图层需要知道时可以向视图控制器询问界面方向。

或者您可以让视图控制器在旋转时发布NSNotification,并让图层观察通知。

答案 1 :(得分:0)

UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation];

返回UIInterfaceOrientation,即应用程序状态栏的当前方向。


UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];返回UIDeviceOrientation,设备方向。但请注意,UIDeviceOrientation并非总是UIInterfaceOrientation。例如,当您的设备位于普通桌面上时,您可能会收到意外的值。