相关疑难解决方法(0)

如何确定UIWebView的内容大小?

我有一个UIWebView不同的(单页)内容.我想找出CGSize适当调整父视图大小的内容.-sizeThatFits:不幸的是,显而易见的只是返回webView的当前帧大小.

iphone cocoa-touch uiwebview uikit ios

116
推荐指数
5
解决办法
12万
查看次数

如何根据html内容设置UIWebView的高度?

我想根据HTML内容设置UIWebview的高度.我得到一个字符串的大小,但由于段落,粗体,不同的字体大小等,没有得到实际的大小.

iphone uiwebview ipad ios

17
推荐指数
3
解决办法
2万
查看次数

有没有更好的方法来确定UITableViewCell的正确大小?

我有一个UITableView单元格,根据其内容(可能是几行文本)将具有可变大小.

看来我在布局单元格之前调用了heightForRowAtIndexPath ,我只是通过在我的文本字符串上调用[NSString sizeWithFont]来猜测正确的高度.我在单元格中放置文本后,是否有更好的方法来设置高度,并且知道它应该具有什么尺寸?

iphone cocoa-touch uitableview

9
推荐指数
1
解决办法
5403
查看次数

UIWebView不完全加载,高度变化

我有一个包含一些标签的视图控制器和一个在其中加载一些html的UIWebView.所有这些标签和UIWebView都是UIScrollView的子视图.我已禁用UIWebView的滚动,因此标签和UIWebView在UIScrollView中一起滚动.

然后我找到了UiWebView内部的内容大小,根据内容大小更改了UIWebView大小,然后将滚动视图的大小设置为webview的大小.这是我通过在webViewDidFinishLoad中添加以下代码来实现的:

CGRect frame = myWebView.frame;
frame.size.height = 1;
myWebView.frame = frame;
CGSize fittingSize = [myWebView sizeThatFits:CGSizeZero];
frame.size = fittingSize;
myWebView.frame = frame;

NSLog(@"size: %f, %f", fittingSize.width, fittingSize.height);

mainScrollView.contentSize = myWebView.bounds.size; 
Run Code Online (Sandbox Code Playgroud)

当我使用NSLog来查看webview内容的大小时,我注意到它为相同的内容提供了不同的高度.例如,如果我第一次打开视图控制器,它会显示高度等于915.0,当我在导航中向后移动并返回到该视图控制器时,日志将显示大小为1012.0.

我相信这可能是由于html内容中的图片加载.任何人都可以告诉我如何修复它以便第一次显示正确的高度?谢谢!

更新:如果我使用javascript使用不同的策略,我已经尝试使用以下代码:

CGRect oldBounds = [[self myWebView] bounds];
CGFloat height = [[myWebView stringByEvaluatingJavaScriptFromString:@"document.height"] floatValue];
NSLog(@"NEW HEIGHT %f", height);
[myWebView setBounds:CGRectMake(oldBounds.origin.x, oldBounds.origin.y, oldBounds.size.width, height)];
mainScrollView.contentSize = myWebView.bounds.size;
Run Code Online (Sandbox Code Playgroud)

这段代码每次在日志中给我正确的高度,这正是我想要的,但整个webview向上移动了一点,阻止了它上面的所有标签.我做错了什么以及如何解决它?谢谢!

objective-c uiwebview uiscrollview ios

6
推荐指数
1
解决办法
3925
查看次数