17 ios7
我有一个webview,可以根据需要滚动导航栏.
但是,当我第一次加载控制器时,滚动webview中加载的页面,使其与导航栏的顶部对齐.当我滚动Web视图时,顶部存在正确的插入以正确放置,它只是初始位置不正确.
如何将初始位置完全滚动到顶部,包括插图?
Aur*_*rte 13
如果您不介意拥有不透明的导航栏,那么最简单的解决方案可能是在包含您的Web视图的视图控制器中执行此操作:
self.navigationController.navigationBar.translucent = NO;
Run Code Online (Sandbox Code Playgroud)
然后,框架的定位将采用与iOS6相同的行为,神奇地!
Rick的答案是正确的,除了最高值应该是负数,这对我有用!
[self.webView.scrollView setContentInset:UIEdgeInsetsMake(-44, 0, 0, 0)];
[self.webView.scrollView setScrollIndicatorInsets:UIEdgeInsetsMake(-44, 0, 0, 0)];
[self.webView.scrollView scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:NO];
Run Code Online (Sandbox Code Playgroud)
我使用-44,如果顶部没有状态栏,则应使用-64.
我解决这个问题的方法是使用 webViewDidFinishLoad 委托回调。在 web 视图的回调方法中,我设置了所有工作以使 web 视图的滚动视图看起来正确。
[webView.scrollView setContentInset:UIEdgeInsetsMake(64, 0, 0, 0)];
[webView.scrollView setScrollIndicatorInsets:UIEdgeInsetsMake(64, 0, 0, 0)];
[webView.scrollView scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:NO];
Run Code Online (Sandbox Code Playgroud)
小智 1
使用下面的
CGRect applicationFrame = [[UIScreen mainScreen] applicationFrame];
CGFloat navHeight = self.navigationController.navigationBar.frame.size.height;
applicationFrame.origin.y = navHeight + 4;
webView = [[UIWebView alloc] initWithFrame:applicationFrame];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8013 次 |
| 最近记录: |