web-dev-qa-db-ja.com

UITableView:フッタービューのサイズをプログラムで変更しても機能しません

私のテーブルビューのフッターは、ユーザーからのツイートを表示するビューであるため、ツイートを取得するまでその高さはわかりません。メソッドFooterViewControllerを持つrefreshTweetsを作成しました。追加します。 viewDidLoadにあります:

FooterViewController *controller = [[FooterViewController alloc] initWithNibName...];
[[self tableView] setFooterView:[controller view]];
[controller refreshTweets];

refreshTweetsメソッドでは、ツイートを読んで全高を計算し、ビュー(フッター)の高さをリセットします。

self.view.frame = newFrame;

しかし、それは意味がありません。フッターの高さは、Interface Builderで設定した高さのままです。何か足りないものや、これを行う別の方法はありますか?

ありがとう!

編集:インターフェイスビルダーでビューのサイズを十分に小さく変更できます。ツイートの高さを計算してview.frameを設定すると拡大されますが、テーブルビューでは、フッターに以前の高さ、つまり余分なスペースがあると見なされます。はテーブルビューの外側にあり、テーブルを上にドラッグした場合にのみ表示されます。

20
hzxu
myTable.tableFooterView = myFooterView;

フッタービューをテーブルに再割り当てします。テーブルは、新しいフッターがあることを認識し、フッターの適切なサイズに必要なレイアウトを再実行します。

44
DBD