我有一个 private void hideNavigationBar() {
View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
decorView.setSystemUiVisibility(uiOptions);
}
我希望UITableView
,但我无法解决这个问题。看到这个视频链接并给我解决方案。任何建议都是欣赏和接受的。
下面 https://www.dropbox.com/s/qztsfkqoxuy4aaj/question.mov?dl=0
这是我的tableview信息。
答案 0 :(得分:7)
使用方法scrollViewDidScroll
检查tableview的scrollview的内容偏移量。检查用户是否正在尝试滚动超出表视图的底部边界。如果是这样,请滚动回到tableview的末尾。这不会限制底部弹跳,但会快速向后滚动,用户不会注意到底部反弹。
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
if (scrollView.contentOffset.y >= scrollView.contentSize.height - scrollView.frame.size.height) {
[scrollView setContentOffset:CGPointMake(scrollView.contentOffset.x, scrollView.contentSize.height - scrollView.frame.size.height)];
}
}
///更新 - 如果Tableview的内容大小小于其框架,则上述代码可能无效。 你可以在这种情况下使用以下内容:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
if(scrollView.contentSize.height > scrollView.frame.size.height)
{
if (scrollView.contentOffset.y >= scrollView.contentSize.height - scrollView.frame.size.height) {
[scrollView setContentOffset:CGPointMake(scrollView.contentOffset.x, scrollView.contentSize.height - scrollView.frame.size.height)];
}
}
else if (scrollView.contentOffset.y >= 0)
{
[scrollView setContentOffset:CGPointMake(scrollView.contentOffset.x, 0)];
}
}