【发布时间】:2011-02-16 06:10:19
【问题描述】:
我发现 UIWebView 的一个奇怪行为。
在委托中
- (void)webViewDidFinishLoad:(UIWebView *)webView{
[self changeFont];
//[NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(changeFont) userInfo:nil repeats:NO];
}
在 changeFont 中,我正在调用 javaScript 来更改网页的字体。它不会被应用,但如果我在委托 webViewDidFinishLoad 延迟几秒钟后调用更改字体方法,那么它将被应用。 如果文件很大,如果我们必须从委托 webViewDidFinish 触发计时器以应用文件的字体大小和样式,我们如何确定加载 webview 需要多少时间。
对此的任何解释。我搜索了很多,文档中没有提到任何内容。
任何帮助为什么 UIWebView 的这种行为?
【问题讨论】:
-
不,它不会多次触发。它只会触发一次。我的问题是为什么在接收器中的内容仍在加载时调用委托。当接收者获得内容时,应该调用 webViewDidFinishLoad。在 webViewDidFinishLoad 我这样检查 if(myWebView.loading ==YES){NSlog(@"still loading");} 并且日志打印在控制台中,这意味着未加载 Web 视图并且正在调用委托。
标签: javascript iphone objective-c cocoa-touch uiwebview