UILabel ,RTLabel,响应touch事件的方法

在项目中要用到带下划线的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];
}

 

还有很多类似的方法可以实现,也没仔细看,但是这个方法很快捷。

 

posted on 2012-09-26 23:25  easonoutlook  阅读(4594)  评论(1编辑  收藏  举报