按下按钮以编程方式打开现有视图

时间:2014-08-18 10:53:49

标签: ios objective-c

我是iOS开发的新手,我面对的对我来说似乎是一项微不足道的任务:在视图controller1中按下按钮时打开视图控制器2。没有故事板和xib文件,所以我通过网络搜索找到的方法,如initWithNibName,segue e.a的用法。不适用。

更新

仍然在努力解决这个问题。通过按ViewController1中的按钮切换到ViewController2时,应用程序中将打开一个空白(白色)视图。 我同时转而使用故事板,因为我需要导航控制。但仍然没有使用xib文件。

这里是ViewController1.m的相关代码:

#import "ViewController2.h"

@interface ViewController1 ()

@property (strong, nonatomic) IBOutlet UIButton *GoToViewController2;

@end

@implementation ViewController1

- (IBAction)GoToViewController2:(id)sender
{
    ViewController2* vc2 = [[ViewController2 alloc] init];
    [self.navigationController pushViewController:vc2 animated:YES];
    NSLog(@"Went to ViewController2");
}

2 个答案:

答案 0 :(得分:1)

按钮的方法;

SomeViewController *someVC = [[SomeViewController alloc] init];
[self.navigationController pushViewController:someVC animated:YES];

这会将新视图控制器推送到默认的navigationController堆栈并为转换设置动画。

答案 1 :(得分:0)

要在现有模式上以模态方式呈现新的视图控制器,您必须分配&初始化viewController2,然后从viewController1:

中显示它
VC2 *vc2 = [[VC2 alloc] init];
//Do initialization ViewController2 stuff here, if needed
....................
//Then present it from your ViewController1
[self presentViewController:vc2 animated:YES completion:nil];