2012-05-07 18 views
0

私は「ユーザー(クリック可能)はセントラルパークの周りを3分間走った(クリック可能)」のようなニュースフィードを作成しようとしています。クリック可能なリンクは、新しいViewControllerを押すことができる関数を呼び出す必要があります。UILabelの機能へのクリック可能なリンク

UILabelはクリック可能なリンクをサポートしていないため、私はどのように実装しているのでしょうか。 FancyLabelは非常に古いようです(2008年)、TTTLabelは外部のリンク、電話、アドレスのみを扱うようです。

+0

クリック可能な部分は、ハイパーリンクされているのUIWebViewを試してみてください? – jrturton

答えて

2

また、単にデリゲートメソッドでのUIWebViewを使用し

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType; 
1

あなたはthusly UILabelにタップジェスチャー認識を追加することができます。

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(myMethodName)]; 
myLabel.userInteractionEnabled = YES; 
[myLabel addGestureRecognizer:tap]; 

しかし、あなたの要件に応じて、私はおそらく、あなたの代わりにUIButtonを使用することをお勧めします。私たちはウェブ上のリンクをクリックするのに慣れていますが、ネイティブアプリでは、タップ可能な領域をいくらか大きくする方がユーザーフレンドリーです(Appleは少なくとも44pxを推奨します)。

+0

私はUILabel全体をクリックするのではなく、その一部だけをクリックします。 –

1

にリンクでのUIWebViewを使用して、リンクの押圧を扱うことができます。

あなたのストーリーボードにuiwebviewとuiviewcontroller(デリゲート)をリンクします。

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

    return YES; 
} 

メイクシュール、あなたのURLは "のhttp://" している

関連する問題