2017-12-15 4 views
0

TextView 또는 UILabel을 사용하는 텍스트와 두 개의 링크가있는 텍스트를 표시하는 iOS 응용 프로그램에 대한 요구 사항이 있습니다. 누군가가 텍스트 링크를 클릭하면 관련 링크가 그에 따라 열립니다.여러 링크가있는 텍스트보기 또는 UI 레이블

예 : 아래 그림을 보면 두 개의 링크가 있습니다. 나는이 속성을 사용하여 속성보기에서 텍스트보기 텍스트의 속성을 지정하고 텍스트를 수정할 수 있습니다.

이제 내 질문은 버지니아 비치 또는 나이아가라를 터벅 터벅 걸 때 링크를 여는 방법입니다. 사용자가 클릭 한 텍스트의 부분을 식별하는 방법은 무엇입니까?

enter image description here

링크를 열 수 :

https://www.niagarafallsusa.com/

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

나는 당신의 도움을 주셔서 감사합니다.

+0

는 [코드]에서 보라 (https://github.com/TTTAttributedLabel/TTTAttributedLabel) 또는 심지어 그것을 사용할 수 있습니다. –

답변

1

NSMutableAttributedString을 사용하여이 기능을 구현할 수 있습니다.

난 당신이 @MidhunMP 응답이 ... 내가 추가 한 밑줄 코드를 시도하여 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

에서이 방법을 사용하여 호출 할 수있는 방법을 썼다했습니다.

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 간단하게 사용할 수 있습니다 쉽게