3

iPhoneのポートレートモードで見栄えがするように実際に設計されたグループ化された UITableView があります。そのセルのサブビューには、横向きモードで伸びるように自動サイズ設定が設定されていますが、これにより見た目がかなり悪くなります。セルがコンテンツに対して広すぎるように見えるだけです。

私は今、それをユニバーサル アプリにしていますが、iPad では、自動サイズ調整によりさらにストレッチが発生し、容認できないように見えます。

UITableView のセルのグループを固定幅 (または最大幅) にするか、何らかの方法で水平マージンを制御できれば理想的です。

UITableView でこれに対するサポートが見つからなかったので、レイアウト時にサイズを制限するためにサブクラス化するいくつかの簡単な試みを行いました。代わりに、コンテナ ビューを導入して、UITableView を垂直方向のみに自動サイズ変更します。どちらのアプローチも機能しますが、新しい問題が発生します。余白をスワイプするとスクロールが機能せず、UITableView のフレームと余白。

私の問題を解決するためのトリックを見つけた人はいますか (つまり、UITableView のグループの幅を制限し、マージンを拡大してビューの幅を埋めます)、またはそれに対するオープンソースのソリューションはありますか?

4

2 に答える 2

5

朗報です!私は最終的に、コードを少し変更するだけでこれを満足に達成する方法を見つけました。

  • この投稿の解決策に従って、サブクラス化UITableViewCellおよびオーバーライドしてセルを縮小します: How to set the width of a cell in a UITableView in grouped style-setFrame
  • また、垂直方向のパディングを追加するにcontentInsetは、UITableView (UIScrollView から継承) のプロパティを使用するとうまく機能します。
于 2012-07-19T15:49:14.247 に答える
0

いつでも標準のテーブルビューを維持し、テーブルビューセルの側面が透明なカスタム背景を提供して、実際よりも小さく見えるようにすることができます。

Cocoa With Loveには、これを行う方法に関するすばらしい記事があります:簡単なカスタムUITableView描画

tableView:cellForRowAtIndexPath:この記事の基本的な要点は、背景の6つの異なるバージョンを作成し、セルを要求するときに正しいバージョンを提供する必要があるということです。上部に丸い角があるもの(セクションの最初の行の場合)、下部に丸い角があるもの(セクションの一番下の行の場合)、および4つの角すべてが丸いもの(ある場合のみ)が必要になります。セクションの1行)。次に、同じ3つが必要になりますが、各行の「選択された」バージョン用にカスタマイズされています。

于 2012-07-09T20:57:45.120 に答える