UIImagePickerController에서
picker.sourceType=UIImagePickerControllerSourceTypeCamera;를 호출하면
카메라 촬영앱이 뜬다.
이 때 아이폰이나 패드를 기울이게 되면
아이패드의 경우 촬영버튼, 취소버튼, 전면 카메라전환 버튼이 같이 들어있는 바가 회전하고,
아이폰의 경우 화면 촬영버튼 안에 카메라 모양과 전면 카메라 전환버튼이 회전한다.
이를 막기 위한 방법
-아이패드의 경우
1. AppDelegate.m
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
// only use LandscapeRight
return UIInterfaceOrientationMaskLandscapeRight;
}
2. Project/Targets General - Deployment Info - Device Orientation
Portrait, Landscape Right 체크
3. ViewController.m
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskLandscapeRight;
}
4. UIImagePickerViewController 상속한 class
- (BOOL)shouldAutorotate
{
// 카메라 촬영 시 화면 rotate를 막아줌
return NO;
}
-아이폰의 경우
-(void) removeAllNotificationFromView : (UIView *)view
{
[[NSNotificationCenter defaultCenter]removeObserver:view];
for(UIView *subview in [view subviews])
[self removeAllNotificationFromView:subview];
}
위의 함수를 추가해 준 뒤
[self presentViewController:picker animated:NO completion:nil];//카메라 실행
[self removeAllNotificationFromView:picker.view];//화면 회전 알림 끔
카메라 실행 후 알림을 끄면 고정이 된다.
'프로그래밍 > iOS' 카테고리의 다른 글
[ios]Empty프로젝트에서 main.m파일만으로 헬로월드 찍기 (0) | 2015.04.08 |
---|---|
[ios]화면 기울기에 따라 스크롤 하기(가속도계 이용) (0) | 2015.04.08 |
[iOS] 화면 기울임에 따라 움직이는 나비 만들기 (0) | 2015.04.08 |
[ios] 경고창 띄우기 (0) | 2015.04.08 |
[iOS] 변수 타입을 객체타입으로 바꾸기 (0) | 2015.04.08 |