我是iOS编程的新手,我试图在故事板中有一个视图,顶部有一个UIImageView
,下面有一个uiWebView。我设置了包含它们的UIScrollView
,我希望滚动使图像在下降时消失。
我按照这个答案(link)并且滚动工作但UIWebView
没有正确调整大小。我已经尝试了很多解决方案,但是如果我调整Web视图大小,我就不再使用滚动工具了,反之亦然。
特别是,我正在使用:
- (void)viewDidLayoutSubviews
{
[super viewDidLayoutSubviews];
_textDetailNews.delegate = self; // the web view delegate
_textDetailNews.scrollView.scrollEnabled = NO;
[_textDetailNews loadHTMLString:description baseURL:nil]; // set text to be shown in web view
}
和
- (void)webViewDidFinishLoad:(UIWebView *)webview
{
CGFloat height = [[_textDetailNews stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight"] floatValue];
[_scrollView setContentSize: CGSizeMake(_scrollView.frame.size.width, height + _scrollView.frame.size.height)];
CGRect oldBounds = [[self textDetailNews] frame];
[_textDetailNews setFrame:CGRectMake(oldBounds.origin.x, oldBounds.origin.y, oldBounds.size.width, height)];
}
_scrollView
已在故事板中包含UIImageView
和UIWebView
的位置。
拜托,感谢任何有助于滚动和UIWebView
身高调整工作的帮助。
修改
我想让它更清楚。 UIScrollView
可以正常使用上述代码,但UIWebView
不会更改其框架。如果我不在setContentSize
上致电:_srollView
UIWebView
更改尺寸,但视图不再滚动。
有人能告诉我问题在哪里吗?
答案 0 :(得分:1)
您必须委派“UIScrollViewDelegate”协议。在.m文件中,您必须实现以下方法:
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView;
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale
例如:
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return nil;
return scrollView.subviews.firstObject;
}
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale
{
}
答案 1 :(得分:0)
因为你告诉你尝试了许多排列。所以我给你一个方法不是一个真正的答案
我已经使用过那种应用程序,而且我遇到的问题就像你说的那样,所以我使用UITableView
代替UIScrollView
并将UIWebView
添加为单独的UITableViewCell
}。
希望这会有所帮助。
答案 2 :(得分:0)
如果您在UIScrollView中嵌入UIWebView,那么您可能会遇到类引用中发布的警告: https://developer.apple.com/library/ios/documentation/Uikit/reference/UIWebView_Class/index.html
重要 您不应该在UIScrollView对象中嵌入UIWebView或UITableView对象。如果这样做,可能会导致意外行为,因为两个对象的触摸事件可能会混淆和错误处理。
如果您只需要在UIWebView的顶部包含图像,是否可以将图像嵌入到HTML中?
答案 3 :(得分:0)
很长一段时间我都遇到了这个问题。 我也使用了你使用过的相同链接,将一个UIview和webview放在scrollview中,但它仍然没有正常工作.webview的内容是错误的。 我通过将webview置于另一个uiview 然后在uiscroll视图中解决,而不是直接在scrollview中。 希望有所帮助。