Is it possible to give the section header in ui tableview an offset to stop programmatically?
So, that the section header stop 100 px from top?
Is it possible to give the section header in ui tableview an offset to stop programmatically?
So, that the section header stop 100 px from top?
I think this should work:
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)
}
}
}
You can try this one
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);
Section headers will now scroll just like any regular cell.
You can use property of UIScrollView: contentInset. And style for a table view UITableViewStyleGrouped (.group in Swift).
This is my example of such UI:
If you want to avoid header moving, set Bounce Vertical property to NO.