gpt4 book ai didi

ios - 我可以对一个 UITableViewDelegate 使用多个 segues 吗?

转载 作者:可可西里 更新时间:2023-11-01 03:26:45 25 4
gpt4 key购买 nike

我有一个 UITableView 列出了多种类型的对象,我想根据用户选择的对象类型切换到不同的 View 。

是否可以通过使用多个 segue 来做到这一点,如果可以,怎么做?

最佳答案

当然!通过按住 ctrl 键将 从 tableViewController(不是一行,tableViewController 本身)拖到下一个 View ,从而在 Storyboard上定义所有的 segues。给他们 ID,这样你就知道该给哪一个打电话了。当所有的 segues 都可视化定义后,转到代码。在您的 tableView 的委托(delegate)中,在 didSelectRowAtIndexPath 中,通过检查 indexPath.row 简单地调用您想要的 segue:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

switch (indexPath.row) {
case 0: [self performSegueWithIdentifier:@"Segue0" sender:self];
break;
case 1: [self performSegueWithIdentifier:@"Segue1" sender:self];
break;
[...]
default: break;
}
}

这样,当用户选择第一行时,将触发 ID 为“Segue0”的 segue,依此类推。

您还可以在 didSelectRowAtIndexPath 的开头添加行:[tableView deselectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:1] animated:YES]; 所以该行用户触摸后不会保持选中状态!

编辑:这适用于静态和动态单元格!小心从 tableViewController 中按住 Ctrl 并拖动您的 segue,而不是单元格!

关于ios - 我可以对一个 UITableViewDelegate 使用多个 segues 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12303485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com