zoukankan      html  css  js  c++  java
  • 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];
    }
    

     

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

     

  • 相关阅读:
    preg_match()
    Ubuntu解压缩zip,tar,tar.gz,tar.bz2文件命令
    Couchbase集群
    画图工具
    谷歌打不开
    筛选重复数据的方法
    div垂直居中的N种方法 单行/多行文字(未知高度/固定高度)
    ie6 ol 序列号 bug
    IE6、7下li元素的子元素为dl,ul,ol时产生的bug
    ie6 line-height bug解决办法
  • 原文地址:https://www.cnblogs.com/easonoutlook/p/2704887.html
Copyright © 2011-2022 走看看