【发布时间】:2012-06-22 14:06:11
【问题描述】:
我正在编写一个具有嵌套 UITableViews 的视图的应用程序。外部 UITableView 的单元格中的 UITableViews 旋转 90 度,以便它们水平滚动。主 UITableView 中的 UITableViewCell 属于 HorizontalTableViewCell 类。
UITableView
--------------------------------------------------
| | | |
| | | | HorizontalTableView
| > | > | > | (contained inside
| | | | UITableView's
| | | | UITableViewCell)
--------------------------------------------------
| | | |
| | | |
| > | > | > | |
| | | | \ /
| | | | "
--------------------------------------------------
| | | |
| | | |
| > | > | > |
| | | |
| | | |
--------------------------------------------------
在纵向模式下,我通过在 initWithFrame: 方法中将 HorizontalTableView 的宽度设置为屏幕宽度,使内容均匀分布。
我想增加 HorizontalTableView 的单元格的单元格填充,以便当设备旋转到横向模式时,调整 3 个单元格的大小以适应整个屏幕,每个单元格占用相同的空间。
然而,我似乎能达到的最好效果是一个具有相同纵向宽度的 HorizontalTableView,但通过以下位掩码在屏幕中居中(来自 HorizontalTableViewCell 的实现文件):
self.horizontalTableView.autoresizingMask =
UIViewAutoresizingFlexibleLeftMargin |
UIViewAutoresizingFlexibleRightMargin;
这会在 HorizontalTableView 的两侧产生较大的边距,有效地使单元格居中,但单个单元格的填充保持不变。
对我将如何做这件事有任何想法吗?
(请注意,如果使用以下位掩码,则单元格会飞出“通过水平表视图单元的顶部”的视图,并且无法再次看到,即使设备旋转回纵向模式也是如此)。
self.horizontalTableView.autoresizingMask = UIViewAutoresizingFlexibleWidth;
【问题讨论】:
标签: objective-c ios uitableview