我有一个自定义CALayer,它应该在不同的界面方向上看起来不同。 有没有办法可以访问我使用此CALayer的View Controller的interfaceOrientation?
或者我必须在自定义图层中设置一个属性,指示每次更改时的当前方向?
答案 0 :(得分:1)
您可以在自定义图层上设置属性。
或者您可以为自定义图层指定一个引用视图控制器的属性,以便在图层需要知道时可以向视图控制器询问界面方向。
或者您可以让视图控制器在旋转时发布NSNotification
,并让图层观察通知。
答案 1 :(得分:0)
UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation];
返回UIInterfaceOrientation
,即应用程序状态栏的当前方向。
UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
返回UIDeviceOrientation,设备方向。但请注意,UIDeviceOrientation
并非总是UIInterfaceOrientation
。例如,当您的设备位于普通桌面上时,您可能会收到意外的值。