UITableView を持つストーリーボードがあります。tableView は次のような tableViewHeader を取得します。
----------------------
| Button |
| Label |
----------------------
ボタンは、条件が満たされた場合にのみ表示されます。また、ボタンがクリックされた場合、ヘッダーは次のようになっている必要があります。
----------------------
| Label |
----------------------
私は多くのことを試しました:
[UIView animateWithDuration:0.3 delay:0 options: UIViewAnimationCurveEaseOut
animations:^{
self.tableView.contentOffset = CGPointMake(0, 59);
}
completion:^(BOOL finished) {
if (finished) {
self.tableView.contentOffset = CGPointMake(0, 59);
self.viewButton.hidden = YES;
}
}
];
ボタンをクリックすると、これはうまく機能します。しかし、テーブル ビューを上にスクロールすると、0 でバウンスし、オフセットが失われます。テーブル ビューは次のようになります。
----------------------
| |
| Label |
----------------------
また、あらゆる種類のビュー操作を試し、次のように tableViewHeader をリセットしようとしました。
CGRect frame = self.tableView.tableHeaderView.frame;
frame.size.height = 31;
self.tableView.tableHeaderView = [[UIView alloc] initWithFrame:frame];
[self.tableView.tableHeaderView addSubview:self.viewTitle];
結果の取得:
----------------------
| |
| Label |
----------------------
UITableViewController を UIViewController に変更する方法を見たことがありますが、問題はビュー コントローラー フレームを操作することで解決されますが、10 個のテーブル ビューがあり、必要なすべての変更を行う時間がありません。
誰か助けてくれませんか?