具有多个表视图的 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 设计的主要内容,如果未能解决你的问题,请参考以下文章