gpt4 book ai didi

iphone - Storyboard和 uitableview 困境

转载 作者:行者123 更新时间:2023-11-28 22:41:32 24 4
gpt4 key购买 nike

好的,所以我有一个 UITableViewController。我在其中定义了动态 tableviewcell。现在为了简单起见,假设定义了三个动态行。看截图

enter image description here

所以我想做的是当用户触摸

  • 第 1 行,我想将它们带到 viewcontroller1
  • 第 2 行,我想将它们带到 viewcontroller2
  • 第 3 行,我想将它们带到 viewcontroller3

现在是进退两难的部分,当我选择原型(prototype)单元格并使用模态将其连接到 viewcontroller1 时,从那时起,我触摸的任何行都会将我带到 viewcontroller1。我想为我的 UITableViewController 编写这段代码,但我不知道如何创建多个 sages? (见下文)

现在很可能这是 Storyboard和 UITableView 的限制,无法使用动态单元格完成。我要做的是创建静态单元格并手动将每一行连接到相应的 View Controller 。我只是想知道是否有更简单的方法,因为我有 50 行并且每一行都需要连接到一个新的 View Controller 。是的,我非常喜欢在 Storyboard中连接东西。如果有任何更好的方法,只是想征求第二意见。

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
// Navigation logic may go here. Create and push another view controller.

//SECTION #0
if (indexPath.section == 0)
{
[self performSegueWithIdentifier:@"goto1" sender:nil];

}

//SECTION #1
if (indexPath.section == 1)
{
[self performSegueWithIdentifier:@"goto2" sender:nil];

}

//SECTION #2
if (indexPath.section == 2)
{
[self performSegueWithIdentifier:@"goto3" sender:nil];

}

}

最佳答案

也可以从 Controller 工具栏中的黄色 Controller 图标拖动一个 segue。选择您的 TableView Controller ,将显示如下图所示的黑色工具栏。

Controller Toolbar

从黄色图标拖动到所需的目标 Controller 。

这样 segue 就不会直接附加到单元格或其他任何东西。给它一个标识符,你可以随时在代码中执行它。

在您的情况下,您可以根据您认为合适的任何逻辑在 tableView:didSelectRowAtIndexPath: 中调用 performSegueWithIdentifier:sender:

[编辑]:

"Just wanted to get a second opinion if there are any better approaches."

50 个不同的转场和目的地似乎太多了。您确定您不能重用单个(或至少少于 50 个) View Controller (比如只有内容不同时?)。例如,您显示 50 个内容相似的页面。不要在 Storyboard中创建 50 个 View Controller :创建一个 View Controller 并在显示之前设置 View Controller 的内容:

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
MyPageController *page = (MyPageController *)segue.destinationViewController;
// get content for selected row
page.content = myContentModelObject;
}

关于iphone - Storyboard和 uitableview 困境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14403037/

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