Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c UITableView空间3个UITableViewCells均匀分布在整个设备框架上_Objective C_Ios_Uitableview - Fatal编程技术网

Objective c UITableView空间3个UITableViewCells均匀分布在整个设备框架上

Objective c UITableView空间3个UITableViewCells均匀分布在整个设备框架上,objective-c,ios,uitableview,Objective C,Ios,Uitableview,我正在编写一个具有嵌套UITableView视图的应用程序。外部UITableView单元格中的UITableView旋转90度,以便水平滚动。主UITableView中的UITableViewCell属于HorizontalTableViewCell类 UITableView -------------------------------------------------- | | |

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

                    UITableView
--------------------------------------------------    
|                |               |               |
|                |               |               | HorizontalTableView
|       >        |       >       |       >       | (contained inside
|                |               |               | UITableView's 
|                |               |               | UITableViewCell)
--------------------------------------------------
|                |               |               |
|                |               |               |
|       >        |       >       |       >       |   |
|                |               |               |  \ /
|                |               |               |   "
--------------------------------------------------
|                |               |               |
|                |               |               |
|       >        |       >       |       >       |
|                |               |               |
|                |               |               |
--------------------------------------------------      
在纵向模式下,我通过在
initWithFrame:
方法中将HorizontalTableView的宽度设置为屏幕宽度,使内容间隔均匀

我想增加HorizontalTableView单元格的填充,这样当设备旋转到横向模式时,3个单元格的大小将调整为适合整个屏幕,每个单元格占用相同的空间

然而,我能达到的最好效果似乎是具有相同纵向宽度的水平表视图,但通过以下位掩码(来自水平表视图单元格的实现文件)在屏幕中居中:

这会在水平表格视图的两侧产生较大的边距,有效地使单元格居中,但单个单元格的填充保持不变

有没有关于我将如何着手做这件事的想法

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


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

这正是我所担心的。。。我花了整整三个小时在这上面,却没有得到任何能产生预期效果的东西。不过,希望不会出现这种情况。实际上,我有一个应用程序,在tableviewcells中有TableView。这是太多的工作,使它旋转,所以我只是禁用旋转。你可能想试试这个策略,除非由于某种原因旋转是完全必要的。使它旋转并不太困难,但它看起来并不像它可能的那么好。。。如果没有好的方法来管理旋转时表格单元格的属性,我可以将其保持原样,因为我不想限制用户操纵应用程序方向的能力。等等,您是否使用自定义单元格?如果您没有,那么您可以尝试创建自己的单元格并设置自动调整大小属性。我正在主UITableView的单元格中为TableView使用自定义单元格,是的。
self.horizontalTableView.autoresizingMask = 
    UIViewAutoresizingFlexibleLeftMargin | 
    UIViewAutoresizingFlexibleRightMargin;
self.horizontalTableView.autoresizingMask = UIViewAutoresizingFlexibleWidth;