从ipad中的LeftSideView控制器呈现ModalView

时间:2013-01-04 06:52:28

标签: iphone objective-c ios ipad

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

点击那个bitton,我提出了模态视图。

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

它也适用于Landscape&amp ;;中的ios6肖像模式。

1 个答案:

答案 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上传递给您的模态视图控制器等。