我的nib文件中有一个按钮。当用户点击此按钮时,如何以编程方式呈现另一个视图控制器?
答案 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标识符。
答案 2 :(得分:0)
请参阅以下屏幕截图
第四步:从下拉列表中选择或选择操作。
现在在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];
}