我有使用UIWebView
. 我注意到对于某些页面,没有UIWebViewDelegate
调用任何方法。
发生这种情况的示例页面是:http ://www.youtube.com/user/google 。以下是重现问题的步骤(确保NSLog
在控制器的UIWebViewDelegate
方法中插入调用):
- 将上面的 youtube URL 加载到
UIWebView
[注意,这里的UIWebViewDelegate
方法在页面加载时会被调用] - 触摸页面上的“上传”类别
- 触摸该类别中的任何视频 [问题:注意加载了一个新页面,但没有调用任何 UIWebView 代表]
我知道这不是UIWebView
' 代理设置不正确的问题,因为在加载其他链接时会调用代理方法(例如,如果您尝试单击将您带到 youtube 之外的链接,您会注意到代理方法被调用)。
我最初的直觉是,这可能是因为页面是使用 AJAX 加载的,它可能不会调用委托方法。但是当我检查 iPhone 的 Safari 时,它并没有表现出这个问题,所以它一定是我这边的东西。
我还注意到 Three20 的TTWebController
问题与我遇到的完全相同。
但是这个问题引起的问题是,如果没有调用委托方法,我无法更新 UI 以在加载新请求时启用/禁用后退和前进浏览按钮。
并知道为什么会发生这种情况,或者我该如何解决它以在发出新请求时更新 UI?