Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

UITableView Section Header Stop Position

Tags:

ios

swift

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?

like image 932
auryn31 Avatar asked Jul 18 '26 15:07

auryn31


2 Answers

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)
        }
    }
}
like image 119
ANE Avatar answered Jul 20 '26 05:07

ANE


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.

like image 45
Megha_Singh Avatar answered Jul 20 '26 05:07

Megha_Singh