我在项目中实现了拆分视图。我的左侧视图包含一个tableview&一个按钮。
点击那个bitton,我提出了模态视图。
在横向模式下工作正常,但对于纵向模式,视图显示与左侧框架视图相同,而不是全屏。
它也适用于Landscape&amp ;;中的ios6肖像模式。
答案 0 :(得分:1)
当您需要提供模态视图控制器时,您可以在详细视图控制器中注册通知,然后从root用户注册通知。
我们假设你正在使用ARC。在您的分割控制器中,您已经离开了视图控制器,称为根控制器,右侧称为详细控制器。
在您的详细控制器中,您需要实现代码来注册和删除通知。
- (void)viewDidLoad
{
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(displayModalController) name:@"DisplayModalControllerNotification" object:nil];
}
- (void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
- (void)displayModalController {
UIViewController *myController = [[UIViewController alloc] initWithNibName:@"MyController" bundle:nil];
[self presentViewController:myController animated:YES completion:^{
// code to be executed after completition
}];
}
现在,在您的根控制器中使用此代码,您只需在需要时使用以下代码行调用它:
[[NSNotificationCenter defaultCenter] postNotificationName:@"DisplayModalControllerNotification" object:nil];
这是基本示例,根据您的需要进行修改,例如,如果您需要发送一些带有通知的对象,以便在init上传递给您的模态视图控制器等。