Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.1k views
in Technique[技术] by (71.8m points)

iphone - How to create UILabel with clickable first word

I want to create label in iOS, can anyone help me to make the first word of the label's text bold and clickable. The label displays username and its comment and the first word is always the username. Thanks in advance!

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

I suppose more elegant solution will be using TTTAttributedString or similar.

Example:

simple demo

Output:

2013-03-10 07:16:54.429 ClickableUILabel-SO[4770:c07] UserName clicked
Address:    {
    comment = "Your comment.";
    userName = user2126537;
}
2013-03-10 07:16:55.460 ClickableUILabel-SO[4770:c07] UserName clicked
Address:    {
    comment = "Another comment.";
    userName = nsgulliver;
}

Key point:

...

NSRange userNameRange = [text rangeOfString: userName];

...

label.delegate = self;
[label addLinkToAddress: @{
           @"userName" : userName,
            @"comment" : comment
    }
                  withRange: userNameRange];

...

- (void) attributedLabel: (TTTAttributedLabel *)label
didSelectLinkWithAddress: (NSDictionary *)addressComponents
{
    NSLog(@"UserName clicked
Address:%@", addressComponents);
}

Complete source code

Note that you should open xcworkspace in Xcode/AppCode because I'm using CocoaPods here.

Hope it helps.

BR.
Eugene


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...