Ios 从主视图切换到其他视图

Ios 从主视图切换到其他视图,ios,cocoa-touch,view,uikit,viewcontroller,Ios,Cocoa Touch,View,Uikit,Viewcontroller,我试图使用按钮从一个视图XIB转到另一个视图。我使用的是Xcode 4.3.2和iOS 5。我首先创建项目单视图应用程序。然后在Interface Builder中创建我的按钮,在头文件中创建我的出口,在.m文件中创建我的iAction。接下来,我在Xcode中右键单击我的项目文件夹并选择了新文件。然后我选择Object-C类并将其命名为SecondViewController。创建了两个新文件:SecondViewController.h和SecondViewController.m。然后我返

我试图使用按钮从一个视图XIB转到另一个视图。我使用的是Xcode 4.3.2和iOS 5。我首先创建项目单视图应用程序。然后在Interface Builder中创建我的按钮,在头文件中创建我的出口,在.m文件中创建我的iAction。接下来,我在Xcode中右键单击我的项目文件夹并选择了新文件。然后我选择Object-C类并将其命名为SecondViewController。创建了两个新文件:SecondViewController.h和SecondViewController.m。然后我返回并右键单击Xcode中的项目文件夹,选择新文件并从用户界面选项中选择查看

现在,我有了一个空的iAction my按钮,我想用它转到一个新的视图,它被称为SecondViewController.xib

如果到目前为止,新的XIB和.h/.m文件的创建是正确的,那么如何使用我的按钮进入或显示我的第二个视图?请记住,我仍处于初级阶段,非常感谢您的帮助和耐心:

主视图和第二视图之间的唯一区别在于头文件:

主视图头文件:

@interface ButtonToNewViewViewController : UIViewController
@interface SecondViewController : NSObject
第二视图头文件:

@interface ButtonToNewViewViewController : UIViewController
@interface SecondViewController : NSObject
IBAction:

-(IBAction)nextView:(id)sender
{
    // go to new view
}

您可以使用以下命令从一个xib更改为另一个

- (IBAction)showInfo1:(id)sender
{    
    mySecondViewController *controller = [[mySecondViewController alloc] initWithNibName:@"nameOfMyXib" bundle:nil];
    [self setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];
    [self presentModalViewController:controller animated:YES];
}

您可以使用以下命令从一个xib更改为另一个

- (IBAction)showInfo1:(id)sender
{    
    mySecondViewController *controller = [[mySecondViewController alloc] initWithNibName:@"nameOfMyXib" bundle:nil];
    [self setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];
    [self presentModalViewController:controller animated:YES];
}

这是一项非常简单的任务,许多在线教程都介绍了这项任务,但无论如何我都会给你一些帮助-

首先,在创建SecondViewController时,请记住将其创建为UIViewController的子类,而不是NSObject。因此,除非您对这些文件做了大量工作,否则您可以继续重新创建它们。同时,通过选中创建过程中的复选框,可以确保Xcode自动为您创建xib文件

创建SecondViewController.h、.m和.xib后,打开NewViewController.m按钮并将import SecondViewController.h放在文件顶部。在方法nextView:中,可以使用以下两行更改为第二个视图控制器:

SecondViewController *second = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
[self presentViewController:second animated:YES completion:nil];
这将弹出第二个视图控制器,带有一些简单的动画。确保传递给initWithNibName:的字符串与.xib文件同名

如果您想返回ButtonNewViewController,可以在SecondViewController中的方法中使用:

SecondViewController *second = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
[self presentViewController:second animated:YES completion:nil];

这应该会让事情变得明朗一点-

这是一项非常简单的任务,许多在线教程都介绍了这项任务,但无论如何我都会给你一些帮助:-

首先,在创建SecondViewController时,请记住将其创建为UIViewController的子类,而不是NSObject。因此,除非您对这些文件做了大量工作,否则您可以继续重新创建它们。同时,通过选中创建过程中的复选框,可以确保Xcode自动为您创建xib文件

创建SecondViewController.h、.m和.xib后,打开NewViewController.m按钮并将import SecondViewController.h放在文件顶部。在方法nextView:中,可以使用以下两行更改为第二个视图控制器:

SecondViewController *second = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
[self presentViewController:second animated:YES completion:nil];
这将弹出第二个视图控制器,带有一些简单的动画。确保传递给initWithNibName:的字符串与.xib文件同名

如果您想返回ButtonNewViewController,可以在SecondViewController中的方法中使用:

SecondViewController *second = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
[self presentViewController:second animated:YES completion:nil];

这应该会让事情变得明朗一点-

对于任何回到这个问题的人来说,以下语法从iOS 6开始就不推荐使用

[self presentModalViewController: ]
替代品非常相似

[self presentViewController:viewController animated:YES completion:nil];

对于任何回到这个问题的人来说,以下语法从iOS 6开始就不推荐使用

[self presentModalViewController: ]
替代品非常相似

[self presentViewController:viewController animated:YES completion:nil];

我感谢你的帮助。正如我所说,我对iOS开发非常陌生,我知道在网上搜索how-to时很容易迷路。这太完美了。我感谢你抽出时间带我走过这个过程:我感谢你的帮助。正如我所说,我对iOS开发非常陌生,我知道在网上搜索how-to时很容易迷路。这太完美了。我感谢您抽出时间来指导我完成这一过程: