특정 ViewController만 기기회전을 시키는 방법

2016-10-17
22 Views

UINavigationContoller에 연결된 ViewController는 shouldAutorotate()메소드를 호출할 수 없다. UINavigationController에 ViewContoller가 있는 경우 shoukdAutorotate()메소드를 호출하게 되어 있어 ViewController단위로 호출할 수 없다. 그렇지만 아래와 같이 설정하면 특정 ViewController를 회전이 가능하도록 할 수 있다.

우선 프로젝트 설정에서 Deployment Info의 Device Orientation항목에서 [Portrait], [Landscape Left], [Landscape Right]를 체크한다.

viewcontroller1

만약 UINavigationContoller에 ViewController를 연결하지 않고 사용한다면, 회전시키고 싶은 ViewController는 아래와 같이 소스코드를 추가한다.

회원시키고 싶지 않는 ViewController는 아래와 같이 회전을 하지 않도록 소스코드를 추가한다.

UINavigationController에서 ViewController가 연결된 상태라면 Extension하여 UIViewController설정을 가져와서 사용하도록 한다.

앞에서 UINavigationController의 하위에 있는 ViewController 설정을 얻게 되었으니 회전을 허용할 ViewController에서 앞의 설정을 설명한다.

 

 

Facebook Comments

You may be interested

모바일 앱 아키텍처
Swift
shares9 views
Swift
shares9 views

모바일 앱 아키텍처

MJ Kim - 4월 22, 2017

이 내용은 나름대로 개발해본 내용을 토대로 정리해본 모바일 앱 아키텍처에 대한 내용이다. 이를 정리한 이유는 오래된 아키텍처부터 최근 아키텍처까지 정리해보고…

시간차를 얻는 Date Extension
Swift 3.0
shares6 views
Swift 3.0
shares6 views

시간차를 얻는 Date Extension

MJ Kim - 4월 12, 2017

사용자가 남길 내용에 대한 시간표시를 할 때 일정한 시간차를 표현해주는 경우가 있어 이에 대한 Date Extention을 정리해 보았다. [crayon-58fb7492e0326934259938/]  

Swift 3.1에서 없어진 문법 정리
Swift 3.0
shares34 views
Swift 3.0
shares34 views

Swift 3.1에서 없어진 문법 정리

MJ Kim - 3월 31, 2017

Swift언어는 무엇인가 나올때마다 없어지는 것들이 있어, Swift 3.1에서 컴파일할 수 없게 된 문법내용을 정리했다. switch문을 사용하여 enum에서 protocol을 여러가지 패턴으로…