点击按钮后如何打开新的视图控制器?

时间:2016-01-07 12:45:13

标签: ios objective-c

我在项目中添加了一个this.Invoke(new MethodInvoker(() => logBox.WriteTimedLogLine("loop " + (i + 1).ToString()))); 并创建了一个类。 将此类绑定到ViewController

之后

在另一个控制器中我有方法:

ViewController的ViewController - (IBAction)login:(id)sender { // How here I can do redirect to controller

4 个答案:

答案 0 :(得分:8)

有两种方法可以在应用程序中推送视图控制器。

1)Segue

2)通过查看控制器标识符

1)Segue:

[self performSegueWithIdentifier:"SegueIdentifier" sender:self];

2)通过View控制器标识符:

Yourclassname *gotoYourClass = [self.storyboard instantiateViewControllerWithIdentifier:@"ViewControllerIdentifier"];

[self.navigationController pushViewController:gotoYourClass animated:YES];

答案 1 :(得分:1)

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

答案 2 :(得分:1)

在故事板中为视图控制器提供一个标识符(在“属性”检查器下),然后使用以下代码将该视图向前移动。

如果您想使用此代码

UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"STORYBOARDNAME" bundle:nil];
UIViewController *vc = [mainStoryboard instantiateViewControllerWithIdentifier:@"VIEWCONTROLLERIDENTIFIER"];
[self.navigationController pushViewController:vc animeted:YES];

如果您想要使用此代码

UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"STORYBOARDNAME" bundle:nil];
UIViewController *vc = [mainStoryboard instantiateViewControllerWithIdentifier:@"VIEWCONTROLLERIDENTIFIER"];
[self presentModalViewController:vc animated:YES];

注意:在UIViewController中,请输入要推送到另一个视图的视图控制器名称。

答案 3 :(得分:1)

如果你想稍后回到当前的ViewController然后使用导航ViewController ,或者只使用 presentViewController of self (你当前的viewController) - 没有回头的事情,就像他们之前所说明的那样。

对于一个简单的执行块(演示或练习),它们完全相同,但对于项目应用程序来说,做出正确的选择是完全重要的。