使UITableView标题“更粘”,更难以下拉

时间:2016-07-21 08:27:31

标签: ios swift uitableview

我已将自定义视图的标题添加到我的TableView中。它被用作搜索栏,我设置了contentOffset,因此它隐藏在开头。

一切都按预期工作但我想知道是否有任何方法可以让它更难拉下来? (应该更加坚固)现在只需定期滚动即可打开,这太容易了。

编辑:ScrollViewDidScroll代码

if tableView.contentOffset.y < 80 && tableView.contentOffset.y > 40 {
            subscriptionsTableView.contentOffset.y += 0.23

            print("Content offset")
            print(tableView.contentOffset.y)
}

2 个答案:

答案 0 :(得分:1)

我的2美分:观察表格视图的contentOffset属性(或实施scrollViewDidScroll:方法)并调整想要粘贴的视图的位置。

以下是对使用相同原则的内容的引用:

答案 1 :(得分:1)

我有一个类似的问题,最后很容易解决。我将表格视图顶部插入设置为标题的高度

tableView.contentInset.top = -1 * headerView.frame.size.height

这使得标题显示为“屏幕外”,用户现在无法滚动到它。我添加了一个代码,用于将顶部插图更改为0,当用户滚动到标题顶部时显示标题

func scrollViewWillBeginDecelerating(_ scrollView: UIScrollView) {
    if scrollView.contentOffset.y < 0 {
        UIView.animate(withDuration: 0.25, animations: {
            self.tableView.contentInset.top = 0
        })
    } else if scrollView.contentOffset.y > headerView.frame.size.height {
        UIView.animate(withDuration: 0.25, animations: {
            self.searchBar.resignFirstResponder()
            self.tableView.contentInset.top = -1 * self.headerView.frame.size.height
        })
    }
}

当用户滚动表格视图时,我还将顶部插入设置回来。