0

「ユーザー(クリック可能)がセントラルパーク周辺を3分間走った(クリック可能)」のようなニュースフィードを作成しようとしています。クリック可能なリンクは、新しい ViewController をプッシュできる関数を呼び出すだけです。

UILabel はクリック可能なリンクをサポートしていないため、どのように実装するのか疑問に思っていました。FancyLabel は非常に古い (2008 年) ように見えますが、TTTLabel は外部リンク、電話番号、およびアドレスのみを処理するようです。

4

4 に答える 4

2

リンクで UIWebView を使用して、リンクの押下を処理することもできます

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;
于 2012-05-08T01:48:03.933 に答える
1

したがって、タップジェスチャレコグナイザーをUILabelに追加できます。

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

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

于 2012-05-07T16:40:51.207 に答える
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://」が含まれていることを確認してください

于 2013-01-30T15:01:25.847 に答える
0

Fancy UILabelsが解決策になる可能性があります。

于 2012-05-07T22:02:35.900 に答える