iOS开发封装一个可以响应超链接的label——基于RCLabel的交互扩展(二)

上面我们有用到一个YHBaseLinkingLabelModel类,这个类进行了链接与字符的映射,设计如下:


@interface YHBaseLinkingLabelModel : YHBaseModel

/**

*文字内容

*/

@property(nonatomic,strong)NSString * text;

/**

*超链接地址 nil则为无

*/

@property(nonatomic,strong)NSString * linking;


@end


       YHBaseHtmlView类是对RCLabel的一层封装,其中也对RCLabel进行了一些优化和改动,代码较多且在上篇博客中有介绍,这里不再多做解释了。


       在ViewController中写如下代码进行使用:


- (void)viewDidLoad {

   [super viewDidLoad];

   // Do any additional setup after loading the view, typically from a nib.

  YHBaseLinkingLabel * label = [[YHBaseLinkingLabel alloc]initWithFrame:CGRectMake(100, 100, 200, 100)];

   NSMutableArray * array = [[NSMutableArray alloc]init];

   for (int i=0; i<6; i++) {

       YHBaseLinkingLabelModel * model = [[YHBaseLinkingLabelModel alloc]init];

       if (!(i%2)) {

           model.text =[NSString stringWithFormat:@"第%d个标签",i];

           model.linking = [NSString stringWithFormat:@"第%d个标签",i];

       }else{

           model.text = @",不能点得文字,";

       }

       [array addObject:model];

   }

   label.textColor = [UIColor blackColor];

   label.linkColor = [UIColor purpleColor];

   label.fontSize = 15;

   label.linkingFontSize = 17;

   label.isShowUnderLine=YES;

   label.delegate=self;

   label.textArray = array;

   [self.view addSubview:label];

 

}

-(void)YHBaseLinkingLabelClickLinking:(YHBaseLinkingLabelModel *)model{

   NSLog(@"%@",model.linking);

}


运行效果如下:

iOS开发封装一个可以响应超链接的label——基于RCLabel的交互扩展(二)



效果不错,并且十分简单易用,对吧。


       我将这部分的相关代码集成进了以前写的一个项目开发框架中,git地址是:https://github.com/ZYHshao/YHBaseFoundationTest 。总体看来,这个框架并不是干货,只是我开发中的一些积累,如果可以帮到你,择优而用,如果需要和我交流,QQ316045346,对视欢迎。


 

上一篇:【Spring注解驱动开发】如何使用@Bean注解指定初始化和销毁的方法?看这一篇就够了!!


下一篇:c# 抓取 js动态生成的HTML的工具:NHtmlUnit?