我正在将 HTML 文档加载到UIWebView带有loadRequest:requestURL. HTML 内容并不完全适合视图的框架。令我惊讶的是,在页面加载时webViewDidFinishLoad:(调用时),视图scrollView.contentOffset与(0,0). 看起来好像内容可能已经大致向下滚动,以使其垂直中心与视图的垂直中心对齐(见下面的屏幕截图)。
这怎么会发生,我怎样才能实现使内容的左上角最初与视图的左上角对齐的期望行为?在 webViewDidFinishLoad:` 中设置scrollView.contentOffset为(0,0)一个选项,但显然会导致一些闪烁。
这发生在在其根视图下方UIViewController包含两个兄弟s 的上下文中。UIWebView两个UIWebViews 垂直堆叠,中间有一个UILabel(在屏幕截图中显示为灰色背景)。(屏幕截图中看不到下部UIWebView,因为它目前全是白色的。)视图使用基于约束的布局,当前问题涉及上部UIWebView。
更新进一步的研究表明,视觉缺陷不是由于在上部滚动,UIWebView而是由于在调用时已将其frame.origin.y设置为从0到64(也是状态栏和导航栏的组合高度)webViewDidFinishLoad。我loadRequest:requestWithURL:从视图控制器调用viewWillAppear:,上部有一个布局约束,在顶部布局指南的顶部和底部之间UIWebView施加了一个垂直空间。0
