2

如果一个 ViewController 中可能有多个 uiTableView,我正在徘徊。

例如:

tableView1 和 tableView2 在一个视图控制器中。

视图控制器的初始启动,tableView2 应该被禁用并且不可见。

tableView1 应该显示与之关联的数据。

当用户从 tableView1 中选择一行时...它应该显示与 tableView2 中所选行相对应的数据。

tableView1 仍应启用,如果用户选择另一行,tableView2 的内容也应分别更改。

感谢您提供的任何帮助或指导。:)

4

2 回答 2

5

你当然可以这样做。这是故事板中的 5 分钟。

您应该选择UIViewController(不是UITableViewController!)并创建如下内容:

在此处输入图像描述

ctrl然后你应该用一个键创建对象引用。

在此处输入图像描述

您必须记住,您必须将两个 tableViews 中的委托和数据源设置为您的 ViewController:

在此处输入图像描述

在你的第二个表格视图中,将 initialView 设置为隐藏。

然后在您的方法代码中,- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath您应该在第一行调用:

[self.mySecondTableView setHidden:NO]

以后再做你所有的事情。而已。

在此处输入图像描述

编辑: 现在我意识到您已将主题设置为“多个”表视图。这个解决方案对于两个 TableView 来说已经够乱了。我建议你使用容器,然后所有的tableView都会有自己的ViewController。

于 2013-09-07T19:49:17.640 回答
0

您可以为这两个 TableView 设置不同的标签和插座。

然后在

-(void)ViewDidLoad

self.yourSecondTableView.hidden = YES;

隐藏第二个 tableView

当委托方法被调用时

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 

或者

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

你可以要求像这样的标签

if (tableView.tag == yourSecondTableViewTag) 
    return something
于 2013-09-07T19:52:38.903 回答