tableHeaderView のサイズ変更に問題があります。それは単純に機能しません。
1) UITableView と UIView (100 x 320 ピクセル) を作成します。
2) UIView を UITableView の tableHeaderView として設定します。
3) ビルドして実行します。全て大丈夫。
ここで、tableHeaderView のサイズを変更したいので、viewDidLoad に次のコードを追加します。
self.tableView.autoresizesSubviews = YES;
self.tableView.tableHeaderView = myHeaderView;
self.tableView.tableFooterView = myFooterView;
CGRect newFrame = self.tableView.tableHeaderView.frame;
newFrame.size.height = newFrame.size.height + 100;
self.tableView.tableHeaderView.frame = newFrame;
tableHeaderView の高さは 200 で表示されるはずですが、100 で表示されます。
私が書く場合:
self.tableView.autoresizesSubviews = YES;
CGRect newFrame = myHeaderView.frame;
newFrame.size.height = newFrame.size.height + 100;
myHeaderView.frame = newFrame;
self.tableView.tableHeaderView = myHeaderView;
self.tableView.tableFooterView = myFooterView;
それから、私が望むように、高さ 200 から始めます。しかし、実行時に変更できるようにしたいです。
私もこれを試しましたが、成功しませんでした:
self.tableView.autoresizesSubviews = YES;
self.tableView.tableHeaderView = myHeaderView;
self.tableView.tableFooterView = myFooterView;
CGRect newFrame = self.tableView.tableHeaderView.frame;
newFrame.size.height = newFrame.size.height + 100;
self.tableView.tableHeaderView.frame = newFrame;
[self.tableView.tableHeaderView setNeedsLayout];
[self.tableView.tableHeaderView setNeedsDisplay];
[self.tableView setNeedsLayout];
[self.tableView setNeedsDisplay];
ここでのポイントは次のとおりです。実行時に tableHeaderView のサイズを変更するにはどうすればよいですか???
誰でもこれを行うことができますか?
ありがとう
アイミー