我有UIWebView
一个代表id<UIWebViewDelegate>
。当我单击 UIWebView 中的链接时,我会NSURLRequest
在回调中获得对象:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
我想做的是:
- (void)presentWebViewControllerWithUrl:(NSURL*)URL{
SVModalWebViewController *webViewController = [[SVModalWebViewController alloc] initWithURL:URL];
webViewController.modalPresentationStyle = UIModalPresentationPageSheet;
webViewController.availableActions = SVWebViewControllerAvailableActionsOpenInSafari | SVWebViewControllerAvailableActionsCopyLink | SVWebViewControllerAvailableActionsMailLink;
[self presentModalViewController:webViewController animated:YES];
}
当我将此代码放在我的主视图控制器中时,会出现模式 Web 视图,但如果我将它放在我的委托中,它不会出现。我如何让它出现?
更新:
NO
从简单的返回shouldStartLoadWithRequest
使我的 UIWebViews 变成白色,没有内容。似乎在 webviews 加载时正在调用回调。我正在加载本地存储HTML
到它们中[web loadHTMLString:@"..." baseUrl: nil]
的模式永远不会出现。
我的视图层次结构如下:
- 主视图
- 界面视图
- UIScrollView
- UIWebView
- UIWebView
- ...
- UIScrollView
- 界面视图
有没有办法“冒泡”回调,以便我可以在主视图控制器中看到事件?