【问题标题】:UITableView inside UITableViewCell - didSelectRowAtIndexPathUITableViewCell 内的 UITableView - didSelectRowAtIndexPath
【发布时间】:2014-07-02 16:56:55
【问题描述】:

我正在制作一个具有 UITableView 和四个自定义 UITableViewCell 的界面。并且每个其他 UITableViewCell 也有 UITableView。这意味着我在 TableView 中有 TableView。

让我先调用tableView - ParentTableView 和嵌套tableView - ChildTableView。所以我在两个 tableView 上实现了方法 didSelectRowAtIndexPath。但是当应用程序运行时,只有 ChildTableView 的方法被调用。我需要知道在 ParentTableView 内部,正在点击哪个单元格。

如何将这些信息进一步从 ChildTableView 传输到 ParentTableView。

这可能是一个愚蠢的问题,但到目前为止我找不到任何可靠的解决方案,所以请帮助我。

提前谢谢你,好心的先生

【问题讨论】:

  • 为什么要把一个表格视图放在另一个表格视图的单元格中?
  • 我正在使用内部表格进行简单的可滚动图形视图

标签: ios objective-c uitableview didselectrowatindexpath


【解决方案1】:

首先,我认为嵌套表视图是个坏主意。但我不知道你的用例,所以它可能是一个例外。

在单元格内使用的表格视图控制器类有自己的@protocol 定义,并将外部表格视图设置为其委托。在内部didSelectRowAtIndexPath: 中,它可以通知外部表视图有关选定的indexPath、它自己的indexPath 以及您可能想要传输的任何其他信息。

【讨论】:

  • 这是非常明显的解决方案。有时我把事情复杂化了,忘记了如何做简单的事情。感谢您指出。接受的答案。
  • 我很抱歉在这里提出问题,因为它不能作为新问题发布。(社区可能会关闭这个)为什么 Tableview inside tableview 是个坏主意? .实际上我的实现是一样的。我的用例是订单列表。在订单列表单元格中可以有多个订单项目,因此我在该订单项目的单元格内使用了 tableview(不可滚动)。那么这里最好的选择是什么?。
  • @PrashantTukadiya 您的用例最好使用单个平面表视图。两种表格视图单元格,或使用部分和单元格。但是滚动视图中的滚动视图总是令人困惑。
【解决方案2】:

尝试使用集合视图。您可以像常规表格视图一样进行布局,然后在需要有表格的单元格中,您可以将这些单独的单元格与内部的另一个集合视图或表格视图一起制作。

如前所述,在单元格中创建表格视图并不容易,而且要让事情正常工作可能非常棘手。

This is an old tutorial 我写了这可能会有所帮助和指导。但从那时起就有了集合视图和自动布局,所以请记住它已经很老了。

【讨论】:

  • 嗨,费利佩。一开始我正在使用这个(你的 - 谢谢你)教程。然后在某个时候,我稍微修改一下代码。是的,我正在做的事情可能有点棘手,但对我来说,自动布局有时甚至更复杂,需要做很多工作。再次感谢
  • 只要记住在 iOS 8 模拟器和可调整大小的模拟器中尝试这个(如果可以的话)。大屏幕 iPhone 即将问世几乎是必然的,您希望您的应用准备就绪,尤其是在处理像这样的自定义内容之后。
  • 由于屏幕尺寸不同,我已经很紧张了。我做了 4 年的 Android 开发人员,我得告诉你,android 可以轻松控制这种情况......
猜你喜欢
  • 2012-01-14
  • 2014-07-11
  • 2014-12-22
  • 1970-01-01
  • 2012-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-18
相关资源
最近更新 更多