개발자 블로그
특정 화면을 회전 못하도록 고정 시키기 본문
아이폰 또는 아이패드에서 기기를 회전시켰을 때 화면이 자동으로 돌아가는 것을 방지하는 코드.
AppDelegate 대신 override를 이용해서 처리하는 코드다. 참고로 여기서 얘기하는 특정 화면의 단위는 NavigationController로 연결된 모든 ViewController를 말한다.
방법은 UINavigationController에서 shouldAutorotate: Bool 변수와 supportedInterfaceOrientations: UIInterfaceOrientationMask 변수를 override 해주면 된다.
만약 모든 화면에서 화면 회전을 못하도록 막고 싶다면 간단하게 extension을 사용해서 처리할 수 있다.
extension UINavigationController {
override open var shouldAutorotate: Bool {
return false
}
override open var supportedInterfaceOrientations: UIInterfaceOrientationMask {
return .portrait
}
};
UIViewController에서 오버라이딩 하면 동작하지 않으니 이 점에 유의.
'프로그래밍 > iOS-SWIFT' 카테고리의 다른 글
CFBundleVersion Mismatch 문제 해결하기 (0) | 2018.05.08 |
---|---|
Share Extension에 내 앱이 표시되지 않을 때 (0) | 2018.04.11 |
Xocde9, swift4 업데이트 후기 (0) | 2017.11.08 |
UIImageView 투명 배경 패턴 이미지 적용하기 (0) | 2017.09.16 |
아이폰 시뮬레이터에 있는 사진 가져오는 방법 (0) | 2017.08.20 |
Comments