我已经设法修复了 TableView 顶部的 searchBar。但现在我需要让节标题停止在 searchBar 下方(它是 tableHeaderView 的一部分)。我已经像这样子类化了 UITableView:
#import "CustomTableView.h"
@implementation CustomTableView
- (void)layoutSubviews
{
[super layoutSubviews];
CGRect rect = self.tableHeaderView.frame;
rect.origin.y = MAX(0, self.contentOffset.y);
self.tableHeaderView.frame = rect;
[self bringSubviewToFront:self.tableHeaderView];
}
@end
我试图用这个保留下面的部分标题:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
if (scrollView.contentOffset.y < 0)
{
scrollView.contentInset = UIEdgeInsetsMake(44+scrollView.contentOffset.y, 0, 0, 0);
} else {
scrollView.contentInset = UIEdgeInsetsMake(44, 0, 0, 0);
}
NSLog(@"offset: %f", scrollView.contentOffset.y);
}
我试图在 tableView 上放置一个带有插图的偏移量。但是当将 tableView 拉到底时,它会在顶部产生一个间隙。并且在用户仍在拖动时尝试删除它们是没有意义的(就像我的尝试一样)。
我知道我可以使用 UIView 并在顶部放置一个 searchBar 并在其下方放置一个 UITableView,但是当我开始基于 TableViewController 构建此视图时,我将不得不更改很多代码。
有什么解决办法吗?