在項目中要用到帶下划線的Label,本來想自己寫一個相關的東西的,有點麻煩,就找一個第三方的拿來使用
RTLabel,提供很多Label上本身沒有的東西,可以有一定的用武之地,感謝原作者。上圖:

這是RTLabel支持的一些特性,下划線的Label,可變顏色和文字大小的Label, 帶鏈接的Label等等這些特性。
進入正題,讓Label響應Touch事件,如UIControlEventTouchDown。
仔細看了RTLabel的源碼,RTLabel中包含了一個代理,
@protocol RTLabelDelegate <NSObject>
- (void)rtLabel:(id)rtLabel didSelectLinkWithURL:(NSURL*)url;
@end
首先遵循這個協議,在使用RTLabel的時候,設置好代理,然后實現該方法,即可讓你的Label響應touch方法
代碼如下:
使用RTLabel,指定代理
RTLabel *websiteRT = [[RTLabel alloc] initWithFrame:CGRectMake(70, 260, 180, 40)];
websiteRT.text = @"網站 <a href='http://www.appvv.com'>www.appvv.com</a>";
websiteRT.delegate = self;
[self.view addSubview:websiteRT];
實現代理
- (void)rtLabel:(id)rtLabel didSelectLinkWithURL:(NSURL*)url
{
NSLog(@"rtLabel is clicked,url is %@",url);
[[UIApplication sharedApplication] openURL:url];
}
還有很多類似的方法可以實現,也沒仔細看,但是這個方法很快捷。
