我的應用程序支持縱向和橫向方向。我從位於的UITabBarController使用以下代碼一個UIViewController模態呈現一個UIViewController:UIViewController以橫向模式呈現時無法正常顯示
self.modalViewController = [[ModalViewController alloc] init];
[self presentViewController:self.modalViewController animated:YES completion:^{
}];
的ModalViewController是應該僅通過在景觀用戶看到的控制器。它應該能夠將LandscapeRight旋轉到LandscapeLeft。這是它的樣子:
@implementation ModalViewController
#pragma mark - UIViewController - Orientation
- (UIInterfaceOrientationMask)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskLandscape;
}
- (BOOL)shouldAutorotate
{
return YES;
}
#pragma mark - NSObject
- (void)viewDidLoad
{
[super viewDidLoad];
self.view.backgroundColor = [UIColor greenColor];
}
#pragma mark - UIViewController - Status Bar
- (BOOL)prefersStatusBarHidden
{
return YES;
}
@end
控制器從左側向上滑動,並在95%的時間內完全覆蓋屏幕。但有5%的時間,它從底部向上滑動,只覆蓋屏幕的上半部分。
下面是當它工作正常,它的外觀:
而這裏的時候它不做工精細它的外觀:
我創建了一個示例項目,可以在這裏找到:https://github.com/TitouanVanBelle/Bug
有一個用戶界面測試目標,他lp重現了這個問題,但它很少有效。
有誰知道爲什麼會發生這種情況?
感謝張貼這個,也尋求解決方案 – sage444