如何以编程方式呈现视图控制器

时间:2016-06-16 03:11:19

标签: ios xcode

我的nib文件中有一个按钮。当用户点击此按钮时,如何以编程方式呈现另一个视图控制器?

3 个答案:

答案 0 :(得分:1)

据我所知,你想在按钮上点击新的viewController。请试试这个

- (IBAction)buttonClicked {
    MyViewController *myViewController = [[MyViewController alloc]init];
    [self presentViewController: myViewController animated:YES completion:nil];
}

答案 1 :(得分:0)

首先,您需要为按钮创建操作,通常是Ctrl + drag。在该动作实现上,您应该分配目标ViewController。代码将是这样的:

- (IBAction)buttonTapped {
    MyViewController *modalViewController = [MyViewController new];
    [self presentViewController:modalViewController animated:YES completion:nil];
}

由于你说你的文件是一个笔尖,我假设你不是一个故事板上有两个ViewControllers而且要呈现的ViewController是基于代码的。如果情况并非如此,请详细说明您的问题。

根据要求:从故事板加载VC

- (IBAction)buttonTapped {
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MyStoryboard" bundle:nil];
    RSSViewController *viewController = [storyboard instantiateViewControllerWithIdentifier:@"RSSVC"];
    // OR If is initial
    // RSSViewController *viewController = [storyboard instantiateInitialViewController];

    viewController.feedURL = @"...";
    [self presentViewController:viewController animated:YES completion:nil];
}

如果需要,应在Storyboard中的Identity Inspector中设置ViewController标识符。

Storyboard Identity Inspector

答案 2 :(得分:0)

请参阅以下屏幕截图

首先:控制+拖动按钮enter image description here

第二:释放鼠标后,它会显示方框enter image description here

第三步:点击连接下拉框。它显示3选项enter image description here

第四步:从下拉列表中选择或选择操作。

五:最后给出行动名称enter image description here

现在在ViewContoller.h中,操作方法是

 - (IBAction)actionGoNextPage:(id)sender;

然后在ViewContoller.m

 #import "SecondViewController.h"

 - (IBAction)actionGoNextPage:(id)sender
 {
    SecondViewController *secondVC = [[SecondViewController alloc]initWithNibName:@"SecondViewController" bundle:nil];
   [self presentViewController:secondVC animated:YES completion:nil];
 }