2

私のプロジェクトでは、のコンテンツの上にフローティング ビューのような錯覚があるように、の が変更されたときに に を追加しUIViewてのフレームUITableViewを調整しています。UIViewcontentOffsetUITableViewtableView

ライブラリのユーザーは、ストーリーボードを使用して静的セルをUITableView使用してを作成すると、この手法が機能しないと報告しています。

これについて少し調査したところ、特に、tableView.contentSizeを呼び出すとすぐに {0, 0} になる[tableView addSubview:...]ことがわかりました。

どうやら、これは動的セルの問題ではありませんが、静的セルでは、呼び出すまでcontentSizeは {0, 0}のままです。[tableView reloadData]

UITableView(Controller) が静的セルでこのように動作する理由はありますか? そして、電話せずにこれを修正する方法はあります[tableView reloadData]か?

4

1 に答える 1

1

を使用していUITableViewControllerます。これはview、コントローラのプロパティがテーブル ビューであることを意味し、テーブル ビューは他のビューを追加するのに少し注意が必要です。

代わりに、次の 2 つの方法のいずれかを使用できます。コントローラーをプレーンUIViewControllerに変換し、テーブル ビューを追加して、データソースとデリゲート メソッドを宣言および実装します。次に、他のビューをviewテーブル ビューではなくに追加します。

にビューを追加することもできますwindow。これは機能するはずですが、表示されているビューに対して相対的に配置する必要がある場合は、位置を微調整する必要があるかもしれません。

于 2013-10-12T15:21:30.000 に答える