2016-05-17 22 views
0

xcodeのuiwebviewにURLをロードしようとしていて、うまく読み込んでいますが、ZEROユーザーとの対話が問題です。私はそれに任意のボタンに触れることができないか、それをスクロールすることはできません。私はすでにinfo.plistでAllow Arbitrary Loads = YESを試しましたが、私のコードはここで何も起こっていません。uiwebviewがHTTPまたはHTTPS URLで動作しない

@interface ViewController : UIViewController<UIWebViewDelegate>{ 
    IBOutlet UIWebView *webPage; 
} 
@property (retain, nonatomic) IBOutlet UIWebView *webPage; 

シンプルなのUIViewControllerのインターフェイスビルダーからそのSシンプルuiwbview:ここ

[webPage setDelegate:self]; 
[webPage loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://url.com"]]]; 
[webPage addSubview:activityIndicatorView]; 

は.Hからより多くのコードです。 、ここでは、私はその問題は、コードのこの部分で、ここかもしれない把握私のInfo.plist

enter image description here

です。私のuinavigationbarにはXMLメニューをロードしているメニューもあります。私のコードを投稿するのを待つ。

- (void) makeMenu{ 
    @try { 
     dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH,0),^{ 
      NSURL *url=[NSURL URLWithString:@"http://url/xml-menu.php"]; 
      NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; 
      [request setURL:url]; 
      [request setHTTPMethod:@"POST"]; 
      [request setValue:@"application/json" forHTTPHeaderField:@"Accept"]; 
      [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 
      NSError *error = nil; 
      NSHTTPURLResponse *response = nil; 
      NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; 
      if ([response statusCode] >=200 && [response statusCode] <300) 
      { 
       rssOutputData = [[NSMutableArray alloc]init]; 
       xmlParserObject =[[NSXMLParser alloc]initWithData:urlData]; 
       [xmlParserObject setDelegate:self]; 
       [xmlParserObject parse]; 
      } 
      dispatch_async(dispatch_get_main_queue(), ^{ 
       sideMenu.delegate = self; 
       NSInteger count; 
       NSMutableArray *itemsArry = [[NSMutableArray alloc] init]; 
       count = [rssOutputData count]; 
       for (int i = 0; i < count; i++){ 
        BTSimpleMenuItem *item = [[BTSimpleMenuItem alloc]initWithTitle:[[rssOutputData objectAtIndex:i]xmltitle] image:[UIImage imageNamed:@"arrow.png"] 
                     onCompletion:^(BOOL success, BTSimpleMenuItem *item) { 
                      [webPage loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:[[rssOutputData objectAtIndex:i]xmllink]]]]; 
                     }]; 
        [itemsArry addObject:item]; 
       } 
       NSArray *itemSarry=[[NSArray alloc] initWithArray:itemsArry]; 
       sideMenu = [[BTSimpleSideMenu alloc]initWithItem:itemSarry addToViewController:self]; 
      }); 
     }); 
    } 
    @catch (NSException * e) { 
     NSLog(@"Exception: %@", e); 
    } 
} 

私はviewdidload uiwebviewでこのメソッドを呼び出すと、応答が停止します。そして、私はこの部分を呼び出さない場合、uiwebviewはうまく動作します。私もこのメニューが必要な私を助けてください。

+0

は、ページがロードされた後、あなたの活動の指標を削除しました?あなたのactivityIndi​​catorViewがUIインタラクションをブロックしていませんか? –

+0

activityIndi​​catorViewはうまくやっていますが、それでもまだ試してみました。 –

+0

httpやhttpsのようなURLスキームは、ネイティブコンポーネントのuserInteractionには影響しません:)あなたは間違った視点から問題を見ています。あなたのwebViewがどのようにロードされているかのような少しのコード?それは他のVCにサブビューとして追加されますか?あなたが処理しているWebViewの代理人とあなたは何をしていますか? –

答えて

0

はこれを試してみてください:

webPage.userInteractionEnabled = YES; 
+0

はい、明白な私の友人です –

+0

によると@Sandeep Bhandariのコメントに、読み込んだ後にactivityIndi​​catorを削除しようとしました。 –

+0

私は、UIWebViewとでサンプルアプリケーションを作成しました。 [NSWRL URL request:@ "https://google.com"]]]; は問題ありません –

関連する問題