【发布时间】:2016-03-17 06:48:57
【问题描述】:
我有一个UIWebView,其中的内容被缩放以适应。然后调整 webview 的大小以适应内容(见下文),并按预期工作。
webview 还附加了一个滑动手势来加载新页面 - 当对下一页的 webview 执行 loadRequest 时,会短暂闪烁回到 webview 的初始宽度。我已经确认正在使用 NSTimer 和 UILabels 更改框架以显示框架的宽度。
这是调整大小的代码:
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(例如苹果网页?)。
标签: ios webview xamarin uiwebview xamarin.ios