0

我正在编写一个具有嵌套 UITableViews 的视图的应用程序。外部 UITableView 的单元格中的 UITableViews 旋转 90 度,以便它们水平滚动。主 UITableView 中的 UITableViewCell 属于 Horizo​​ntalTableViewCell 类。

                    UITableView
--------------------------------------------------    
|                |               |               |
|                |               |               | HorizontalTableView
|       >        |       >       |       >       | (contained inside
|                |               |               | UITableView's 
|                |               |               | UITableViewCell)
--------------------------------------------------
|                |               |               |
|                |               |               |
|       >        |       >       |       >       |   |
|                |               |               |  \ /
|                |               |               |   "
--------------------------------------------------
|                |               |               |
|                |               |               |
|       >        |       >       |       >       |
|                |               |               |
|                |               |               |
--------------------------------------------------      

在纵向模式下,我通过在方法中将 Horizo​​ntalTableView 的宽度设置为屏幕宽度,使内容均匀分布initWithFrame:

我想增加 Horizo​​ntalTableView 的单元格的单元格填充,以便当设备旋转到横向模式时,调整 3 个单元格的大小以适应整个屏幕,每个单元格占用相等的空间。

但是,我似乎能达到的最好效果是一个具有相同纵向宽度的 Horizo​​ntalTableView,但通过以下位掩码(来自 Horizo​​ntalTableViewCell 的实现文件)在屏幕中居中:

self.horizontalTableView.autoresizingMask = 
    UIViewAutoresizingFlexibleLeftMargin | 
    UIViewAutoresizingFlexibleRightMargin;

这会在 Horizo​​ntalTableView 的两侧产生较大的边距,有效地使单元格居中,但单个单元格的填充保持不变。

关于我将如何做这件事的任何想法?

(请注意,如果使用以下位掩码,则单元格会“从 Horizo​​ntalTableViewCell 的顶部”飞出视图,并且无法再次看到,即使设备旋转回纵向模式也是如此)。

self.horizontalTableView.autoresizingMask = UIViewAutoresizingFlexibleWidth; 
4

1 回答 1

0

我能想到的唯一方法是为横向模式创建另一个视图。将数据放入持有者对象,加载新视图,然后从持有者重新加载数据。

于 2012-06-22T19:44:58.323 回答