具有多个表视图的 Ipad 设计

Posted

技术标签:

【中文标题】具有多个表视图的 Ipad 设计【英文标题】:Ipad design with multiple tableviews 【发布时间】:2013-10-24 14:25:31 【问题描述】:

我正在为 ipad 开发聊天应用程序,我想知道原生消息应用程序。

所以一个屏幕上有两个表格视图,但是如何在一个控制器中正确处理两个表格视图?还有那个导航栏,是单个导航栏和某种分隔符吗? 任何帮助将不胜感激。 谢谢你

【问题讨论】:

【参考方案1】:

有一个控件叫做 UISplitViewController

您也可以在您的 UIViewController 上放置 2 个单独的 UITableView,然后在委托/数据源方法中处理它,即:

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    
        if(tableView == _leftTableView)
        
             static NSString *CellIdentifier = @"Cell";
             UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

             if (cell == nil) 
                 cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
             

             //fill cell data here

             return cell;
        
        else if(tableView == _rightTableView)
        
             static NSString *CellIdentifier = @"Cell";
             UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

             if (cell == nil) 
                 cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
                 

             //fill cell data here

             return cell;
         
         return nil;
    

【讨论】:

【参考方案2】:

UISplitViewController 是 Apple 使用的。

【讨论】:

【参考方案3】:

您的链接已损坏,因此很难确定您要做什么。

正如其他人所说,如果您想要这样做,您可以使用拆分视图控制器来处理分层内容。我不认为 ios 消息应用使用了

您也可以自己管理表格视图。不要使用 UITableViewController;自己设置一个常规的 UIViewController。所有的表视图委托和数据源方法都作为第一个参数传入表视图,因此您可以根据调用您的表视图编写方法进行分支。

另一种选择是使用父/子视图控制器方案,让您的主视图控制器包含 2 个不同的子 UITableViewController 对象,并为子表视图控制器设置协议以与父级对话。

我在 github 上有一个应用程序,它就是使用这种技术的一个例子。在 iOS 6 或更高版本中这很容易,因为您可以使用嵌入转场。 Here is the link.

但是,我的应用基于静态表格视图。需要对其进行修改以处理每个表视图的单独数据源。

【讨论】:

以上是关于具有多个表视图的 Ipad 设计的主要内容,如果未能解决你的问题,请参考以下文章

ipad如何在一个视图上以编程方式创建多个表

如何在 iPad 的视图控制器中创建多个表格视图?

将选择器更改为表视图或在同一视图上有多个表视图

具有多个子视图问题的容器视图

创建具有多个表的视图?

将具有分层表视图的导航控制器快速放入视图控制器中