Ios 调整嵌入到scrollview中的webview的大小
我有一个包含歌曲的HTML字符串的sqlite数据库 视图控制器Ios 调整嵌入到scrollview中的webview的大小,ios,sqlite,uiwebview,uiscrollview,Ios,Sqlite,Uiwebview,Uiscrollview,我有一个包含歌曲的HTML字符串的sqlite数据库 视图控制器 在这个视图控制器中,我有一个文本和一个按钮,用户在其中输入歌曲编号,还有一个按钮发送搜索数据库的请求 歌曲显示 在这个视图控制器中,我有一个web视图和一个标签,它们都嵌入在一个滚动视图中。已禁用“我的web视图”的滚动 歌词显示,滚动视图的大小正确调整。但是,web视图没有调整大小,只是显示了一些歌词。我知道这一点,因为我有不同颜色的滚动视图和网络视图 滚动视图顶部 这里的问题示例是滚动视图的底部 这是我的代码: - (vo
在这个视图控制器中,我有一个文本和一个按钮,用户在其中输入歌曲编号,还有一个按钮发送搜索数据库的请求 歌曲显示
在这个视图控制器中,我有一个web视图和一个标签,它们都嵌入在一个滚动视图中。已禁用“我的web视图”的滚动 歌词显示,滚动视图的大小正确调整。但是,web视图没有调整大小,只是显示了一些歌词。我知道这一点,因为我有不同颜色的滚动视图和网络视图 滚动视图顶部 这里的问题示例是滚动视图的底部 这是我的代码:
- (void)webViewDidFinishLoad:(UIWebView *)aWebView
{
CGRect frame = aWebView.frame;
frame.size.height = 1;
aWebView.frame = frame;
CGSize fittingSize = [aWebView sizeThatFits:CGSizeZero];
frame.size = fittingSize;
[self.scroll setContentSize:fittingSize]; //scroll is the name of the scroll view
aWebView.frame = frame;
NSLog(@"size: %f" ,fittingSize.height);
}
如何同时调整web视图和滚动视图的大小?我通过在
viewwillbeen
内部细节视图中加载内容解决了这个问题
像这样
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self configureView];//<-- here i am call loadHTMLString
}
- (void)configureView
{
// disabling scroll for webview
if ([self.detailWebView respondsToSelector:@selector(scrollView)]) {
self.detailWebView.scrollView.scrollEnabled = NO; // available starting in iOS 5
} else {
for (id subview in self.detailWebView.subviews)
if ([[subview class] isSubclassOfClass: [UIScrollView class]])
((UIScrollView *)subview).scrollEnabled = NO;
}
// setting content
if (self.detailItem) {
self.detailTitle.text = self.detailItem->title;
//image scaling styles
NSString *style=@"<style type=\"text/css\">\n"
"img { \n"
" display: block;"
" float:none;"
" margin:0 auto;"
" max-width:100%;"
" height:auto;"
"} \n"
"</style>\n";
[self.detailWebView loadHTMLString:[style stringByAppendingString:self.detailItem->content] baseURL:nil];
}
}
-(void)视图将显示:(BOOL)动画
{
[超级视图将显示:动画];
[自配置视图];//标题;
//图像缩放样式
NSString*样式=@“\n”
“img{\n”
“显示:块;”
“浮动:无”
“页边距:0自动;”
“最大宽度:100%;”
“高度:自动;”
“}\n”
“\n”;
[self.detailWebView loadHTMLString:[style stringByAppendingString:self.detailItem->content]baseURL:nil];
}
}
当OSX Mavericks正式发布时,问题自行解决。之前的问题可能是测试版中的一个bug造成的。根据苹果公司的建议,不应该在scroll view中嵌入webview
重要的
不应在UIScrollView中嵌入UIWebView或UITableView对象
物体。如果这样做,可能会因为触摸而导致意外行为
这两个对象的事件可能会混淆并错误处理
参考:
ScrollView中的Web视图无法正常工作。这种情况很快就会好转。现在会有问题的,我也有同样的问题(