关于ipad:Modal View using UIModalPresentationFormSheet 出现离屏

Modal View using UIModalPresentationFormSheet appears offscreen

我有一个 UIViewController 实现了

1
2
3
4
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

然后,我尝试在该视图之上弹出一个模式:

1
2
3
4
ModalViewController *modalViewController = [[ModalViewController alloc] init];
modalViewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
modalViewController.modalPresentationStyle = UIModalPresentationFormSheet;
[mainViewController presentModalViewController:modalViewController animated:YES];

如果我在 ipad 处于纵向时启动模态,它可以正常工作。但是当我把它放在横向并尝试启动模式时,模式出现在 ipad 右上角的一半屏幕外。有什么想法吗?


在 ModalViewController 中,以与 mainViewController 中相同的方式实现 shouldAutorotateToInterfaceOrientation(两者都需要就它们支持的方向达成一致)。