Swifter {Swift Developer}

메뉴

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

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

카테고리:   Swift 3.0, Swift Extension

댓글

죄송하지만 댓글은 닫혀 있습니다.