아이폰6 Plus와 처음 시작할 때의 화면 방향
6230 단어 iOS
UISupportedInterfaceOrientations
대상 Device orientation 설정(plist의 U I Su p o rtedInterface Orientations)은 응용 프로그램이 지원하는 화면 방향을 설정하기 위한 것이지만 올바른 정의는 다음과 같습니다.
예제
나는 다음과 같은 요구 사항을 가진 프로그램을 만들고 싶다.
잘못된 실현
따라서 우선 대상 > General > Deployment Info > Device Orientation 을 설정합니다.응용 프로그램 전체로서portrait/landscape 쌍방이 대응하기 때문에 먼저 다음과 같이 설정해 봅시다.
스토리보드는 다음과 같은 느낌을 준다.
첫 번째 화면은 포트레이트 전용이고 ViewController는 다음과 같이 설치됩니다.
FirstViewController.swift
class FirstViewController: UIViewController {
override func shouldAutorotate() -> Bool {
return false
}
override func supportedInterfaceOrientations() -> Int {
return Int(UIInterfaceOrientationMask.Portrait.toRaw())
}
}
그럼 아이폰6 플러스가 화면을 가로로 켠 상태에서 시동을 걸어보자.시작!
랜드스케이트로 시작했어요.
참고로 이 상태에서persientViewController는 적당한 모드뷰를 만들고 바로dismissViewController를 그리면 예상한portrait에 따라 표시됩니다.징그럽다.
정확한 실현
처음에 설명한 대로 U I S u p o rtedInterfaceOrientations는 시작 시 화면 방향의 초기 값을 적용하는 설정입니다.FirstView는 포트레이트에만 대응하기 때문에 이렇게 설정하는 것이 정확합니다.
단, 이것만 설정하면 전체 응용 프로그램에서 portrait만 지원되므로 AppDelegate에 응용 프로그램을 설치하십시오:s p or t e I n t e I n t e I n t e r faceOrientations ForWindow, 전체 응용 프로그램의 지원 방향으로 설정하십시오.
AppDelegate.swift
class AppDelegate: UIResponder, UIApplicationDelegate {
//....
func application(application: UIApplication, supportedInterfaceOrientationsForWindow window: UIWindow) -> Int {
return Int(UIInterfaceOrientationMask.AllButUpsideDown.toRaw())
}
이렇게 아까처럼 아이폰6 플러스가 화면을 가로로 켠 상태에서 시동을 건다똑바로 세로로 시동을 걸었다.장치를 가로로 눕혀도
수직을 유지하다.
그나저나 FirstView를 제외한 모든 것은 예상대로
가로 방향
둘 다 지지합니다.
총결산
응용 프로그램이 시작된 후 표시되는 화면은portrait만 지원하고 다른 화면은portrait/landscape를 지원하는데 이런 아이폰 응용 프로그램이 매우 많다.아이폰6 플러스 등장 전 아이폰, 원래 메인 화면은 랜드스케이프를 지원하지 않는다
이렇게 설정해도 앱이 시작될 때 이 설정은 무시되고 포트레이트에서 바로 시작하기 때문에 문제없습니다.그러나 아이폰6플러스의 메인 화면은 랜드스케이트에 대응하기 때문에 앱이 시작될 때 이 설정을 잘 활용할 수 있으니 주의하세요.
참고 자료
애플 Developer Form에서의 토론
https://devforums.apple.com/message/1051638#1051638
plist의 U I S u p rtedInterfaceOrientations 키 정의
https://developer.apple.com/library/IOs/documentation/General/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html#//apple_ref/doc/uid/TP40009252-SW10
Reference
이 문제에 관하여(아이폰6 Plus와 처음 시작할 때의 화면 방향), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kenmaz/items/1704152ef38c35bfe9fe
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(아이폰6 Plus와 처음 시작할 때의 화면 방향), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kenmaz/items/1704152ef38c35bfe9fe텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)