单击 UIButton 时从一个 UIViewController 重定向到另一个

Posted

技术标签:

【中文标题】单击 UIButton 时从一个 UIViewController 重定向到另一个【英文标题】:Redirecting from one UIViewController to another when clicking a UIButton 【发布时间】:2012-06-26 17:13:58 【问题描述】:

我正在尝试构建一个可重用的代码,我将能够在我的 ios 应用程序的多个地方使用它。 它所做的是创建一个表格,其中的每个单元格都有几个 UIButton。单击按钮时,需要将视图重定向到另一个 ViewController 并显示与该按钮相关的数据(例如用户 ID)。 因为我希望这段代码是可重用的,所以我创建了一个 UIViewController,其他视图将从中继承。我的 ViewController 以编程方式构建 UITableView 和单元格并填充里面的所有内容。 我唯一不知道的是如何在触摸 UIButton 时将视图重定向到下一个。我试图在没有转场的情况下做到这一点,因为我希望它作为一个自我维持的组件,并且不需要“玩”故事板并在不同的地方重复推动相同的转场。任何建议都会不胜感激!

【问题讨论】:

【参考方案1】:

点击按钮时使用此代码

ViewController *obj = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];

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

ViewController 是你要去的控制器。

如果您想传递数据,只需在 ViewController 中设置一个变量,然后单击按钮即可。在推送之前使用上面的代码和下面的行

obj.userId = @"UserId1";

【讨论】:

谢谢!我没有 nib 文件,所以我将它与 UIStoryboard 一起使用: UIStoryboard* sb = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; ViewController* obj = [sb instantiateViewControllerWithIdentifier:@"ViewController"]; [self.navigationController pushViewController:vc 动画:YES];

以上是关于单击 UIButton 时从一个 UIViewController 重定向到另一个的主要内容,如果未能解决你的问题,请参考以下文章

尝试更新 UIButton 的标题以响应被选中

单击时从通知中心删除通知

单击时从循环中禁用按钮

如何在单击时从另一个兄弟组件中增加一个值?

单击按钮时从同一组件中清除数据

如何在单击按钮时从一个视图控制器导航到另一个视图控制器?