Welcome to OGeek Q&A 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 Reply

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...