0

我在我的项目中实现了拆分视图。我的左侧视图包含一个表格视图和一个按钮。

Onclick 那个 bitton,我展示了 modalview。

它在横向模式下工作正常,但对于纵向模式,视图显示为与左侧框架视图相同,而不是全屏。

它也适用于横向和纵向模式下的 ios6。

4

1 回答 1

1

您可以在详细视图控制器中注册通知,然后在需要显示模式视图控制器时从根目录发布通知。

假设您正在使用 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];

这是基本示例,可根据您的需要进行修改,例如,如果您需要在初始化时发送一些带有通知的对象以传递到您的模态视图控制器等。

于 2013-01-04T07:37:12.953 回答