使用UIModalPresentationFormSheet的模态视图显示在屏幕外

时间:2010-11-25 00:17:27

标签: ipad iphone-sdk-3.0 modal-dialog showmodaldialog

我有一个实现

的UIViewController
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

然后,我尝试在该视图的顶部弹出一个模态:

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

如果我在ipad处于纵向状态时启动模态,它可以正常工作。但是当我在风景中拿着它并尝试启动模态时,模态显示在ipad右上角的一半。有什么想法吗?

1 个答案:

答案 0 :(得分:4)

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