Ipad设计有多个tableviews

时间:2013-10-24 14:25:31

标签: ios ipad uitableview user-interface

我正在为ipad开发聊天应用程序,我对本机消息应用程序感到疑惑。

这样两个tableview在一个屏幕上,但如何正确处理一个控制器中的两个tableview?还有那个导航栏,是单导航栏还是某种分隔符? 任何帮助将不胜感激。 谢谢

3 个答案:

答案 0 :(得分:1)

A UISplitViewController是Apple使用的。

答案 1 :(得分: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 :(得分:0)

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

正如其他人所说,如果您正在尝试这样做,则可以使用拆分视图控制器来实现分层内容。我不认为iOS消息应用程序使用

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

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

我在github上有一个应用程序,这是使用这种技术的一个例子。在iOS 6或更高版本中它非常简单,因为您可以使用嵌入segue。 Here is the link

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