2011-11-14 13 views
2

私は開始画面に6つのボタンを持つアプリケーションを持っています。私の問題は、それらのボタンをクリックしてWebページを開くことです。iOSアプリケーション内のWebページを開く

ボタンのいずれかを初期化する方法です。

- (void) beginNavigationWith: (int) navID andTitle:(NSString*) aTitle andMap:(NSString*) map andHtml:(NSString*) html withIdTagsAroundMe:(int)id_tags withWeb: (NSURL*) webPage 
{ 
    // DIRECT LINK 

    if (html != nil) { 
     if ([html hasPrefix:@"{ID}"]) { 
      NSError *error; 

      int res_id = [[html substringFromIndex:4] intValue]; 
      NSLog(@"DIRECT ID From start>> %d", res_id); 

      NSFetchRequest* reqForRestaurant = [[NSFetchRequest alloc] init]; 
      NSEntityDescription *resEntity2 = [NSEntityDescription entityForName:@"Restaurant" inManagedObjectContext:managedObjectContext]; 
      [reqForRestaurant setEntity:resEntity2]; 

      NSString *stringRes = [NSString stringWithFormat:@"res_id.intValue == %d", res_id]; 
      NSPredicate *resPredicate2 = [NSPredicate predicateWithFormat:stringRes]; 
      [reqForRestaurant setPredicate:resPredicate2]; 

      NSArray *array3 = [managedObjectContext executeFetchRequest:reqForRestaurant error:&error]; 


      //NSLog(@">>>> Gallery:%d", [managedObject.res_gallery intValue]); 

      if (array3 != nil) { 
       //NSLog(@"Restaurants count=%d", [array2 count]); 
       if ([array3 count] == 1) { 

        Restaurant *managedObjectRes = (Restaurant*) [array3 objectAtIndex:0]; 

        RestaurantDetails *details = [[RestaurantDetails alloc] initWithStyle:UITableViewStylePlain]; 
        details.managedObjectContext = self.managedObjectContext; 
        details.parentID = navID; 
        details.title = managedObjectRes.res_title; 
        [details initItemsWithData:managedObjectRes]; 
        [self.navigationController pushViewController:details animated:YES]; 
           } 
      } 

      return; 
     } 
    } 

    // STANDARD NAV o puro HTML 



    NavTableView *navTable = [[NavTableView alloc] initWithStyle:UITableViewStylePlain]; 
    navTable.title = aTitle; 
    navTable.managedObjectContext = self.managedObjectContext; 
    navTable.selectQuery = [NSPredicate predicateWithFormat:@"nav_parent_id.intValue == %d", navID]; // parent id == 0 is ROOT 
    //added for use around me 
    navTable.id_tags_arroundme = id_tags; 

    [self.navigationController pushViewController:navTable animated:YES]; 

    if (html != nil) [navTable addHtmlHeader:html]; 
    if (map != nil) [navTable addActiveMap:map]; 

    //WEB PAGE 

    if (webPage != nil) { 

     NSString *webPage1 = [NSString stringWithFormat:@"http://www.google.com"]; 
     NSURL *url = [NSURL URLWithString:webPage1]; 
     NSLog(@"url = %@",url); 
     [[UIApplication sharedApplication] openURL:url]; 

    } 



} 

私は、Webページを開くが、Saffariにするために管理し、私はアプリケーション内でそれをしたい、この方法:その後、私は方法があります。 誰かが私にそれを行う方法を与えることができます。

ありがとうございました。

+0

uiwebビューを取得し、このURLを表示して – Ron

+0

を表示する関連するノートでは、これはAppleによって許可されていますか?そのレビュー中には。 Instagramとは関係のないアプリからInstagramを開く必要があるアプリケーション要件があります。 Appleはそれにprobを持っていますか? SafarでUIWebViewを開く代わりにUIWebViewを使用していますか? – Anil

答えて

2

他のビューにサブビューとして追加できるUIWebViewを使用し、URLで 'loadRequest'を呼び出す必要があります。

+0

関連するノートでは、これはAppleによって許可されていますか?そのレビュー中には。 Instagramとは関係のないアプリからInstagramを開く必要があるアプリケーション要件があります。 Appleはそれにprobを持っていますか? SafariでUIWebViewを開く代わりにUIWebViewを使用していますか? – Anil

関連する問題