대답은 preferredDisplayMode 속성에 애니메이션을 적용하는 것입니다. 코드를 표시하려면 것은 :
if (UIInterfaceOrientationIsPortrait([UIDevice currentDevice].orientation)) {
[UIView animateWithDuration:ANIMATION_LENGTH animations:^{
self.splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModePrimaryOverlay;
} completion:^(BOOL finished) {
self.splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModeAutomatic;
}];
}
하고 코드를 숨길 수는 다음과 같습니다 분할 뷰 컨트롤러가 정상적인 일을 할 수 있도록 애니메이션이 후
if (UIInterfaceOrientationIsPortrait([UIDevice currentDevice].orientation)) {
[UIView animateWithDuration:ANIMATION_LENGTH animations:^{
self.splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModePrimaryHidden;
} completion:^(BOOL finished) {
self.splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModeAutomatic;
}];
}
내가 완성 자동으로 다시 설정 완료되었습니다. 내 세부 항목이 아직 설정되지 않은 경우에만 보여주기 때문에 쇼에 또 다른 부울을 추가합니다. 그러나이 코드는 사용자 고유의 코드에 고유하므로이 코드에서 제거했습니다.
정확하게 찾고자하지만 완료 비트를 제거해야합니다. 그렇지 않으면 다시 마스터에 다시 표시됩니다. – trapper
Xcode 7.3에서는'[UIDevice currentDevice] .orientation'에서 오류 메시지가 나타납니다. 나는 그 사건을'[UIApplication sharedApplication] .statusBarOrientation'으로 바꿀 것을 제안합니다. – David
또한이 애니메이션은 이제 상세 테이블 뷰의 바람직하지 않은 애니메이션을 유발합니다. – David