2011-12-07 16 views
0

私は、RSSフィードをテーブルビューに読み込むアプリケーションを持っています。テーブル上の行を選択すると、ポスト全体で新しいビューが開きます。私の問題はRSSフィードにハイパーリンクがあることがあります。リンクをクリックすると、サファリの代わりに同じビューにコンテンツが表示されます。 SafariのRSSフィードにあるリンクを開き、アプリを離れることに関する警告メッセージを開きたいと思います。しかし、私はこれを私のコードで扱うことは考えていません。どんな導線が役に立つでしょう。私は下のDetailedViewのために私のコードを貼り付けています。あなたのWebビューのデリゲートで `、webViewではなくSafariでURLを開く

-(BOOL) webView:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType { 
    if (inType == UIWebViewNavigationTypeLinkClicked) { 
     [[UIApplication sharedApplication] openURL:[inRequest URL]]; 
     return NO; 
    } 
    return YES; 
} 
+3

だけしてみてください' [myLink]のUIApplicationのOpenURL:::[NSURL URLWithString]

- (void)viewDidLoad { [self.itemSummary loadHTMLString:[item objectForKey:@"summary"] baseURL:nil]; } - (id)initWithItem:(NSString *)theItem { if (self = [super initWithNibName:@"Detail" bundle:nil]) { self.item = theItem; self.title = [item objectForKey:@"title"]; } return self; } 

+0

問題は私がコードのその部分を全く扱っていないことと、リンクはRSSフィードに基づいて動的であることです。 – curious123

+5

'UIWebViewDelegate'ドキュメントを見ると、新しいページの読み込みを傍受し、それを別の方法で扱うことができます(前述のように)。実装するメソッドは 'webView:shouldStartLoadWithRequest:navigationType:'です。 – paulbailey

答えて

4

は、このコードを試してみてください。
関連する問題