0

クラスから UIWebview を読み込もうとしています ここは testClass.h ファイルです

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

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

以下は testClass.m のコードです。

@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 に答える