是否可以在ui tableview中为节标题提供一个以编程方式停止的偏移量?
那么,节标题从顶部停止100 px?
答案 0 :(得分:3)
我认为这应该有效:
override func scrollViewDidScroll(_ scrollView: UIScrollView)
{
super.scrollViewDidScroll(scrollView)
let inset: CGFloat = 73
if scrollView.contentOffset.y < inset && scrollView.contentOffset.y > 0 {
scrollView.contentInset = UIEdgeInsets(top: scrollView.contentOffset.y, left: 0, bottom: 0, right: 0)
} else {
if scrollView.contentOffset.y < 0 {
scrollView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
} else {
scrollView.contentInset = UIEdgeInsets(top: inset, left: 0, bottom: 0, right: 0)
}
}
}
答案 1 :(得分:0)
您可以使用UIScrollView的属性:contentInset。表格视图的样式UITableViewStyleGrouped (.group in Swift)。 这是我这样的UI的例子:
如果要避免标题移动,请将Bounce Vertical属性设置为NO。
答案 2 :(得分:0)
你可以尝试这个
CGFloat newViewHeight = 40;
UIView *newView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.tableView.bounds.size.width, newViewHeight)];
self.tableView.tableHeaderView = newView;
self.tableView.contentInset = UIEdgeInsetsMake(-newViewHeight, 0, 0, 0);
现在,节标题将像任何常规单元格一样滚动。