質問する
7338 次
3 に答える
7
iOS 6以下で動作する解決策を見つけました
UITableView のサブクラスを作成し、layoutSubviews
メソッドをオーバーライドする
- (void)layoutSubviews
{
[super layoutSubviews];
CGRect rect = self.tableHeaderView.frame;
rect.origin.y = MIN(0, self.contentOffset.y);
self.tableHeaderView.frame = rect;
}
于 2012-11-01T11:24:15.570 に答える
1
スクロール時にiOS6 SDKが更新されないため、おそらく同じように最適化されます。そのため、スクロール時に tableview layoutSubviews を呼び出す必要があります。
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
UISearchBar *searchBar = searchDisplayController.searchBar;
CGRect rect = searchBar.frame;
rect.origin.y = MIN(0, scrollView.contentOffset.y);
[scrollView layoutSubviews];
searchBar.frame = rect;
}
于 2012-11-06T14:12:13.703 に答える
1
以下を使用する場合:
[_tableView setTableHeaderView:_searchBar];
テーブル ビューを最初の行を超えてスクロールすると、検索バーもビューの上部にくっつくのではなく非表示になります。
あなたのコードを見なければUISearchBar
、テーブル ヘッダーではなく、セクション ヘッダーとして を追加したのではないかと思いますか?
于 2012-11-01T11:16:02.110 に答える