2012-02-23 58 views
0

我在IOS開發一個真正的小白打開web視圖(主項目)。現在我正在使用Zxing開展我的學習項目。如何通過點擊alertView按鈕(在依賴項目(斑馬線))

我做我自己的項目,其中包括依賴第三方庫(斑馬線)。 一旦我掃描包含URL內的QRCode,我的項目將調用Zxing庫中的類,然後提醒alertView。 之後,一旦我點擊彈出式alertView上的打開按鈕,它就會通過激活Safari來打開該URL。

在斑馬線的代碼如下所示:

//============================================================ 

- (void)openURL { 

    [[UIApplication sharedApplication] openURL:self.URL]; //<===== open URL by Safari browser. 
    } 


- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { 
    if (buttonIndex != [alertView cancelButtonIndex]) { 
    // perform the action 

    [self openURL]; 
    } 
} 
//======================================================== 

然而,我的願望是,我想在我自己的web視圖,其由Interface Builder在我的「自己的項目」不通過Safari瀏覽器構建打開URL。你有什麼建議嗎?我必須在(void)openURL {}中進行編碼?我被困這個問題了3天,我現在似乎是瘋了[p]

非常感謝您爲您提前幫助。

乾杯,

回答

0

我做什麼做,這是我做它有web視圖中有一個新的視圖控制器。 OpenURL方法啓動時設置的屬性URL字符串。如果需要,您必須實現webView的委託方法。我使用的代碼是

在WebViewCOntroller.h

@interface WebViewController : UIViewController <UIWebViewDelegate>{ 


IBOutlet UIWebView *webView; 
UIView *activityView; 
} 
@property (nonatomic, retain) NSString *buyProductLink; 
@end 

在WebViewController.m

- (void)viewDidLoad { 
[super viewDidLoad]; 
webView.scalesPageToFit = YES; 

NSURLRequest *request = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:self.buyProductLink]]; 
[webView loadRequest:request]; 
[request release]; 
} 
- (BOOL) webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { 

return YES; 
} 
- (void) webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error { 

     [activityView removeFromSuperview]; 
} 

- (void) webViewDidFinishLoad:(UIWebView *)webView { 

     [activityView removeFromSuperview]; 
     [activityView release]; activityView = nil; 
} 

在OpenURL方法使用

WebViewController *webViewVC = [[WebViewController alloc] initWithNibName:@"WebViewController" bundle:nil]; 
webViewVC.buyProductLink = [NSString stringWithFormat:@"%@",result]; 
[self.navigationController pushViewController:webViewVC animated:YES]; 
+0

非常感謝@fibnochi。我非常感謝你的幫助。我今晚會嘗試這個。 :) – 2012-02-23 15:58:44

+0

一個問題@fibnochi。我非常好奇在openURL方法中調用WebViewController。你怎麼能在openURL方法(在Zxing項目中調用)中調用WebViewController(它是在你的主項目中分配的)? Zxing是否知道主項目中的.h文件? 感謝您的提前回答。 – 2012-02-23 16:14:50

+0

我沒有使用Zxing庫。但我認爲Zxing庫不必知道任何viewController。您的Xcode項目將爲您處理所有事情。任何如何使用包含webView的自定義視圖並在OpenURL方法中調用它。 – fibnochi 2012-02-24 06:21:47