【问题标题】:How can I get a button to determine which viewcontroller to go to?如何获得一个按钮来确定要转到哪个视图控制器?
【发布时间】:2014-04-18 18:17:48
【问题描述】:

我正在尝试使用 Xcode 获取用户类型输入的值并执行以下三件事之一:如果用户类型无效,它将停留在当前视图控制器上并告诉用户凭据无效,如果是valid 和 "admin" 会进入用户设置,如果是 "user" 或 null 会进入订单列表。

我已经构建了 if 语句,只是不确定如何指定要转到哪个视图控制器。

【问题讨论】:

  • 你的问题太模糊了。您使用的是故事板还是 IB。你有导航控制器来推送新的视图控制器吗?您只想展示新的视图控制器吗?

标签: ios objective-c uiviewcontroller


【解决方案1】:

我不太明白你的问题,但你不能像这样简单地分配视图:

if(!error) {
   ViewController *viewcont = [[ViewController alloc]initWithNibName:@"ViewController" bundle:nil];
    [self presentViewController:viewcont animated:NO completion:nil];
} else {
 ViewController2 *viewcont2 = [[ViewController2 alloc]initWithNibName:@"ViewController2" bundle:nil];
    [self presentViewController:viewcont2 animated:NO completion:nil];
}

【讨论】:

    【解决方案2】:

    如果您使用的是导航控制器

    if(!error) {
       ViewController *view1 = [[ViewController alloc]initWithNibName:@"ViewController" bundle:nil];
    [self.navigationController pushViewController:view1 animated:YES];
    } else {
     ViewController2 *view2 = [[ViewController2 alloc]initWithNibName:@"ViewController2" bundle:nil];
    [self.navigationController pushViewController:view2 animated:YES];
    }
    

    否则使用这个

    if(!error) {
       ViewController *view1 = [[ViewController alloc]initWithNibName:@"ViewController" bundle:nil];
        [self presentViewController:view1 animated:NO completion:nil];
    } else {
     ViewController2 *view2 = [[ViewController2 alloc]initWithNibName:@"ViewController2" bundle:nil];
        [self presentViewController:view2 animated:NO completion:nil];
    }
    

    请记住:如果您的视图不是 xnib 文件,则此解决方案将不起作用,我的意思是如果您使用的是故事板

    【讨论】:

      猜你喜欢
      • 2014-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-05
      • 2017-03-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多