iOS OC 学习手册

iOS中为label添加下划线以及点击事件的方法(上)

2017-04-16  本文已影响0人  dequal

iOS开发中经常会遇到要将一段文字添加下划线并且附上点击事件的需求, 默认情况下UILabel是不支持点击事件的,那么怎样才能实现这种效果呢?下面介绍一种简单的方法,代码如下:

- (void)viewDidLoad {
    [super viewDidLoad];
    UILabel *underlineLabel = [[UILabel alloc] initWithFrame:(CGRectMake(100, 50, 150, 30))];
    NSString *textStr = @"$1234567890";
    
    // 下划线
    //注意: NSStrikethroughStyleAttributeName 是添加中划线,这时textStr如果是中文字符则没有效果
    NSDictionary *attribtDic = @{NSUnderlineStyleAttributeName : [NSNumber numberWithInteger:NSUnderlineStyleSingle], NSUnderlineColorAttributeName : [UIColor redColor]};
    NSMutableAttributedString *attribtStr = [[NSMutableAttributedString alloc]initWithString:textStr attributes:attribtDic];
    
    //赋值
    underlineLabel.attributedText = attribtStr;
    
    UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(labelClick)];
    
    [underlineLabel addGestureRecognizer:gestureRecognizer];
    underlineLabel.userInteractionEnabled = YES;
    
    [self.view addSubview:underlineLabel];
}

- (void)labelClick {
    NSLog(@"underlineLabel被点击了");
}
上一篇下一篇

猜你喜欢

热点阅读