我正在创建一个视图控制器,它使用一个在导航栏和状态栏后面滑动的web视图。为此,我将webView.scrollView.contentInset属性设置为64的顶部内嵌。
然而,这并不会缩小网页视图想要占据的区域,所以如果一个页面不到一个屏幕,它底部会有64像素的空白区域可供滚动浏览。web视图位于垂直UIPageViewController中,因此这会扰乱分页。有什么方法可以去掉这些多余的空间吗?
发布于 2013-07-04 13:00:34
我通过禁用在短页面上的滚动来解决这个问题。基本上,我使用-stringByEvaluatingJavaScriptFromString:在页面中运行一些从document.body遍历并计算最底层元素底部位置的JavaScript。(document.body本身始终至少与视口一样大,因此我无法查看它的大小。)然后,回到Objective-C-land,我将其与web视图的高度(减去inset)进行比较,如果小于,则禁用滚动。这不是一个完美的解决方案,但它涵盖了最糟糕的症状。
如果有人能想出比这更好的解决方案,我很想听听!不管怎样,我不能把赏金给我自己,所以总会有人拿到的。
发布于 2016-01-07 22:29:43
你有没有尝试过调整网页视图的滚动视图内容插图?示例:
webView.scrollView.contentInset = UIEdgeInsetsMake(0, 0,64, 0)发布于 2013-07-03 07:29:41
听起来您需要的是调整webView.scrollView.contentSize并将高度调整为64。您可能需要提供更多有关它如何在导航栏和状态栏后面滑动的信息,以帮助我回答这个问题。我将看看Scroll View Programming Guide的这一部分:
http://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/UIScrollView_pg/CreatingBasicScrollViews/CreatingBasicScrollViews.html
https://stackoverflow.com/questions/17358950
复制相似问题