我有一个
这个 webview 还附有一个滑动手势用于加载新页面——当在
以下是重新调整大小的代码:
UIWebView
,里面的内容会被缩放以适应页面。然后,webview 也会调整大小以适应内容(如下图),并能按预期工作。这个 webview 还附有一个滑动手势用于加载新页面——当在
webview
上执行 loadRequest
加载下一页时,会短暂地闪回到 webview 的初始宽度。使用 NSTimer
和 UILabel
显示 frame 宽度的更改已被确认。以下是重新调整大小的代码:
string bookHeightS = bookWebview.EvaluateJavascript ("document.getElementsByTagName('body')[0].scrollHeight");
string bookWidthS = bookWebview.EvaluateJavascript ("document.getElementsByTagName('body')[0].offsetWidth");
nfloat bookHeight = 0;
nfloat.TryParse (bookHeightS, out bookHeight);
nfloat bookWidth = 0;
nfloat.TryParse (bookWidthS, out bookWidth);
nfloat scaling = bookWebview.Frame.Height / bookHeight;
nfloat initialWidth = bookWebview.Frame.Width;
nfloat newWidth = scaling * bookWidth;
CGRect frame = new CGRect (bookWebview.Frame.Location, new CGSize (newWidth, bookWebview.Frame.Height));
if (frame.Width != bookWebview.Frame.Width) {
bookWebview.Frame = frame;
}
这段代码由webview上的LoadFinished
委托调用。
我尝试设置webview滚动视图的框架和webview的ContentSize
大小。
是什么导致了这种闪烁?
LoadFinished
被调用的次数,以确定问题所在。同时,尝试加载其他HTML页面(例如苹果网站)。 - Oleg Shanyuk