2017-12-15 14 views
0

TextViewまたはUILabelを使用するiOSアプリケーションには、テキストと2つのリンクを含むテキストが表示されます。誰かがテキストリンクをクリックすると、その関連リンクがそれに応じて開く必要があります。複数のリンクを持つテキストビューまたはUIラベル

例: 下の図が表示されている場合は、2つのリンクがあります。私はこれを達成することができたテキストビューのテキストの属性と属性のインスペクタでのテキストの変更。

私の質問は、ユーザーがvirginia beachまたはniagaraをタップするとリンクを開く方法です。ユーザーがクリックしたテキストの部分を特定する方法オープンする

enter image description here

リンク:

https://www.vbgov.com/Pages/default.aspx

https://www.niagarafallsusa.com/

私はあなたの助けに感謝。

+0

は、[このコード]で見てください(https://github.com/TTTAttributedLabel/TTTAttributedLabel)またはおそらくそれを使用します。 –

答えて

1

あなたはこの機能を実装するためにNSMutableAttributedStringを使用することができます。私はあなたが使用できる方法を書いてきました

、あなたのviewDidLoad

- (void)configureLinks 
{ 
    NSString *fullString = @"Please accept the terms and conditions of virginia beach and Niagara."; 
    NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:fullString]; 

    // Adding attributes 
    [attributedString addAttribute:NSLinkAttributeName value:@"https://www.vbgov.com/Pages/default.aspx" range:[fullString rangeOfString:@"virginia beach"]]; 
    [attributedString addAttribute:NSLinkAttributeName value:@"https://www.niagarafallsusa.com/" range:[fullString rangeOfString:@"Niagara"]]; 

    // For underline 
    [attributedString addAttribute:NSUnderlineStyleAttributeName value:@(NSUnderlineStyleSingle) range:[fullString rangeOfString:@"virginia beach"]]; 
    [attributedString addAttribute:NSUnderlineStyleAttributeName value:@(NSUnderlineStyleSingle) range:[fullString rangeOfString:@"Niagara"]]; 

    // Setting attributed string to textview 
    yourTextViewOrLabel.attributedText = attributedString; 
} 
+0

それは働いていますが、私の要件はあまりにも下線を引くことです。 – Karen

+0

@カレン:私は答えを更新しました。 –

0

からこのメソッドを呼び出して、私は@MidhunMPの答えに下線コードを追加した。これを試してみてください。

NSString *stringValue = @"Please accept the terms and conditions of virginia beach and Niagara."; 
NSMutableAttributedString *output = [[NSMutableAttributedString alloc] initWithString:stringValue]; 
[output addAttribute:NSLinkAttributeName value:@"https://www.vbgov.com/Pages/default.aspx" range:[stringValue rangeOfString:@"virginia beach"]]; 
[output addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInt:NSUnderlineStyleSingle] range:[stringValue rangeOfString:@"virginia beach"]]; 
[output addAttribute:NSLinkAttributeName value:@"https://www.niagarafallsusa.com/" range:[stringValue rangeOfString:@"Niagara"]]; 
[output addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInt:NSUnderlineStyleSingle] range:[stringValue rangeOfString:@"Niagara"]]; 
yourTextView.attributedText = output; 
0

あなたは、単に KI Label シンプルを使用することができますし、簡単に

関連する問題