iOS屏幕旋转后的对应布局

sparkly
  • 10

现在需要实现一个功能:做个视频播放器(主要是布局问题),涉及到屏幕旋转问题,想这样做:
1.用户可以手动点击一个button,然后全屏。
2.当设备发生旋转后,自动全屏。
遇到了一些问题:
1.手动使屏幕旋转,在网上看到了一个方法:

NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationPortrait];
[[UIDevice currentDevice] setValue:value forKey:@"orientation"];

这个属不属于私有API(我记得是私有的,但是记不准确了。希望有用过的小伙伴给个建议)
2.自动旋转屏幕的话,怎么检测,或者屏幕旋转的时候会触发什么方法的调用。
在网上搜索了一天无果,希望做过的朋友给个提示。

回复
阅读 3.7k
1 个回答

UIDeviceOrientation是设备的方向,只能读取,不能设置。监听设备方向变化可以监听UIDeviceOrientationDidChangeNotification这个通知。监听还需要做如下操作才能生效

 [[ UIDevice  currentDevice ]  beginGeneratingDeviceOrientationNotifications ];

UIInterfaceOrientation是屏幕的方向,它和UIDeviceOrientation只有在左右方向上是相反的,上下方向是一致的。这个是可以设置的。比如你通过监听设备方向,当设备处于横屏时,全屏显示播放器,并且根据当前方向旋转播放器视图。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏