繁体   English   中英

如何从一个视图控制器导航到另一视图控制器?

[英]How to navigate from one view controller to another view controller?

我有两个视图控制器,在第一个视图控制器中,我有一个按钮,现在我想让用户单击该按钮,然后他们将转到第二个视图控制器。 我没有使用情节提要,但确实使用了ARC,但我尝试过此操作,但它显示错误“ uiviewcontroller的无可见@interface声明选择器alloc”。

- (IBAction)SendMsg:(id)sender {

    UIViewController *MessageViewController = [MessageViewController alloc] initWithNibName:@"MessageViewController" bundle:nil];
    [self presentModalViewController:MessageViewController animated:YES];
    [MessageViewController release];

}

您正在将“ * MessageViewController”声明为UIViewController类型。 然后调用“ MessageViewController”分配方法。 你不能那样做。 Maulik处在正确的轨道上,但是如果您使用的是ARC,则需要删除最后一行([aMessageViewController版本];)

尝试:

- (IBAction)SendMsg:(id)sender{
    MessageViewController *myMessageViewControllerInstance = [[MessageViewController alloc]  initWithNibName:@"MessageViewController" bundle:nil];
    [self presentModalViewController:myMessageViewControllerInstance animated:YES];
}

别忘了,您将需要一种消除模态视图控制器的方法,并且可以通过在上面的最后一行之前添加如下内容来设置表示形式和过渡样式:

myMessageViewControllerInstance.modalPresentationStyle = UIModalPresentationFormSheet;
myMessageViewControllerInstance.modalTransitionStyle = UIModalTransitionStyleCoverVertical;

还有其他样式,我只是使用示例。 祝好运

- (IBAction)SendMsg:(id)sender {

    MessageViewController *aMessageViewController = [[MessageViewController alloc] initWithNibName:@"MessageViewController" bundle:nil];
    [self presentModalViewController:aMessageViewController animated:YES];
    //[aMessageViewController release]; As you are using ARC

}
    - (IBAction)SendMsg:(id)sender {
        MessageViewController *aMessageViewController = [[MessageViewController alloc] initWithNibName:@"MessageViewController" bundle:nil];
        [self presentModalViewController:aMessageViewController animated:YES];
    }
    - (IBAction)SendMsg:(id)sender {

MessageViewController *aMessageViewController = [[MessageViewController alloc] initWithNibName:@"MessageViewController" bundle:nil];
[self presentModalViewController:aMessageViewController animated:YES];
[aMessageViewController release];

}

如果您使用导航控制器,则可以使用self.navigationController .......也。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM