はじめに
アプリからカメラ撮影画面を呼び出し撮影する際に
デバイスの回転を抑制したい場合があります。
継承での実現となりました。
クラス作成
UIImagePickerControllerを継承したクラスを作成します。
XXXCameraViewController.h
# import <UIKit/UIKit.h>
@interface XXXCameraViewController : UIImagePickerController
@end
XXXCameraViewController.m
# import "XXXCameraViewController.h"
@interface XXXCameraViewController ()
@end
@implementation XXXCameraViewController
- (BOOL)shouldAutorotate
{
return NO;
}
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
@end
使用する
使用するにはこんな形
# import "XXXCameraViewController.h"
XXXCameraViewController *cameraViewController = [[XXXCameraViewController alloc] init];
[cameraViewController setDelegate:self];
[cameraViewController setSourceType:UIImagePickerControllerSourceTypeCamera];
[self presentViewController:cameraViewController animated:YES completion:nil];
おわりに
何かに参考になりましたら幸いです。
参考