0

我正在尝试从我的班级加载 UIWebview 这是它的 testClass.h 文件

#import <UIKit/UIKit.h>
@interface testClass : UIView<UIWebViewDelegate>

@property(nonatomic,retain) UIViewController *superObj;
- (void) showView;
@end

下面是 testClass.m 的代码,superObj 是一个主 viewContrller 的自我分配。

@synthesize superObj; //assigned from viwController as self 
- (void)showView {
    CGRect firstRect = CGRectMake(0, 0, 100.0, 50.0);
    UIWebView *webView = [[UIWebView alloc] initWithFrame:firstRect];
    webView.delegate = self;
    [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://localhost/inapp/index.php"]]];
    [superObj.view addSubview:webView];
}

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {

    NSLog(@"In delegate method");
   if ([[[request URL] absoluteString] isEqual:@"http://localhost/inapp/index.php"])
        return YES;    
   [[UIApplication sharedApplication] openURL:[request URL]];//opens url in safari
   return NO;
}

这能够显示 UIWebview 并在其中呈现 html,但是当我单击 url 控件时不会使用 shouldStartLoadWithRequest 方法。我无法理解为什么这不起作用。

4

1 回答 1

0

从文档中:

webView:shouldStartLoadWithRequest:navigationType:


如果 Web 视图应该开始加载内容,则返回值YES;否则,否。

于 2012-12-05T09:31:44.860 回答