如何获得一个按钮来确定要转到哪个视图控制器?
Posted
技术标签:
【中文标题】如何获得一个按钮来确定要转到哪个视图控制器?【英文标题】: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。你有导航控制器来推送新的视图控制器吗?您只想展示新的视图控制器吗? 【参考方案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
文件,则此解决方案将不起作用,我的意思是如果您使用的是故事板
【讨论】:
以上是关于如何获得一个按钮来确定要转到哪个视图控制器?的主要内容,如果未能解决你的问题,请参考以下文章
如何确定当前视图控制器呈现的是哪个视图控制器? (苹果手机)