ネストされた UITableViews を持つビューを持つアプリを作成しています。外側の UITableView のセル内の UITableView は、水平にスクロールするように 90 度回転します。メイン UITableView の UITableViewCells は、クラス HorizontalTableViewCell のものです。
UITableView
--------------------------------------------------
| | | |
| | | | HorizontalTableView
| > | > | > | (contained inside
| | | | UITableView's
| | | | UITableViewCell)
--------------------------------------------------
| | | |
| | | |
| > | > | > | |
| | | | \ /
| | | | "
--------------------------------------------------
| | | |
| | | |
| > | > | > |
| | | |
| | | |
--------------------------------------------------
縦向きモードの場合、メソッドで HorizontalTableView の幅を画面の幅に設定することで、コンテンツを均等に配置しますinitWithFrame:
。
デバイスが横向きモードに回転すると、3 つのセルが画面全体に収まるようにサイズ変更され、それぞれが同じ量のスペースを占めるように、HorizontalTableView のセルのセル パディングを増やしたいと思います。
ただし、達成できると思われる最善の方法は、同じ縦幅の HorizontalTableView ですが、次のビットマスクによって画面の中央に配置されます (HorizontalTableViewCell の実装ファイルから)。
self.horizontalTableView.autoresizingMask =
UIViewAutoresizingFlexibleLeftMargin |
UIViewAutoresizingFlexibleRightMargin;
これにより、HorizontalTableView の両側に大きな余白が生成され、セルが効果的に中央に配置されますが、個々のセルのパディングは変更されません。
これを行う方法についてのアイデアはありますか?
(次のビット マスクが使用されている場合、セルは HorizontalTableViewCell の「上部を通って」ビューの外に飛び出し、デバイスが回転して縦向きモードに戻っても、再び表示されないことに注意してください)。
self.horizontalTableView.autoresizingMask = UIViewAutoresizingFlexibleWidth;