设置 ScrollView Insets 使滚动条从顶部开始

Posted

技术标签:

【中文标题】设置 ScrollView Insets 使滚动条从顶部开始【英文标题】:Setting ScrollViewInsets makes scrollbar start from top 【发布时间】:2015-09-26 21:58:54 【问题描述】:

我有以下代码来设置我的滚动视图的插图:

// top margin for table
self.automaticallyAdjustsScrollViewInsets = NO;
CGFloat navbarHeight = self.navigationController.navigationBar.frame.size.height;
CGFloat statusHeight = [UIApplication sharedApplication].statusBarFrame.size.height;
CGFloat tabBarHeight = self.tabBarController.tabBar.frame.size.height;
CGFloat filterBtnsContainerHeight = 36.0;
CGFloat insetTopMargin = navbarHeight + statusHeight + filterBtnsContainerHeight;
[self.postsTable setContentInset:UIEdgeInsetsMake(insetTopMargin,0,tabBarHeight,0)];

效果很好,只是滚动条现在从顶部开始并在底部结束。它应该在导航栏之后开始并在标签栏之前结束。有没有办法为滚动条设置容器?

【问题讨论】:

【参考方案1】:

设置您的scrollViewInset 后尝试tableView.scrollIndicatorInset = tableView.scrollViewInset

【讨论】:

【参考方案2】:

我认为您可以在情节提要中解决此问题。选择您的视图控制器,然后转到属性检查器,然后在顶部栏下选择。这是因为您的视图设置为 0,而添加导航栏时它应该设置为 64。只需取消选中顶部栏下,您就可以开始了。

希望这会有所帮助。

【讨论】:

以上是关于设置 ScrollView Insets 使滚动条从顶部开始的主要内容,如果未能解决你的问题,请参考以下文章

ScrollView如何用代码设置滚动条

设置ScrollView的滚动条为隐藏的方法,scrollview滚动条

如何设置scrollView 横向滚动

如何让ScrollView 的滚动条不显示

如何设置scrollview的滚动区域在本身的上方

Drawerlayou与ScrollView的介绍