我如何确保当用户激活他的相机时,如果设备(iPhone/iPod/iPad)被保持为纵向,我想通知用户将设备旋转到横向并以横向拍摄照片/录制视频?
但是,应用程序(我所有的 UIViewControllers、UITableViewControllers 等)仅处于纵向模式,没有横向模式。
我如何确保当用户激活他的相机时,如果设备(iPhone/iPod/iPad)被保持为纵向,我想通知用户将设备旋转到横向并以横向拍摄照片/录制视频?
但是,应用程序(我所有的 UIViewControllers、UITableViewControllers 等)仅处于纵向模式,没有横向模式。
在 iOS 6 中,自动旋转略有改变,但是,同样的方法仍然有效。
示例代码:
@implementation UIImagePickerController (noRotation)
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation /* iOS 5 */
{
return UIInterfaceOrientationIsLandscape(toInterfaceOrientation);
}
- (NSUInteger)supportedInterfaceOrientations /* iOS 6 */
{
return UIInterfaceOrientationMaskLandscape;
}
@end
检查界面方向:
if (UIInterfaceOrientationIsPortrait([UIDevice currentDevice].orientation))
{
// call methods to take picture
....
}
else
{
// alert the user this device is not landscape mode
...
}