给textView添加url、电话号码、邮箱点击效果

本文介绍如何在iOS应用中使用UITextView显示富文本,并实现对文本内链接(包括网址、电话号码和电子邮件地址)的自动检测及交互处理。
_textView = [[UITextView alloc] initWithFrame:CGRectMake(100, _myView.bottom, 190, 100)];
    _textView.backgroundColor = [UIColor yellowColor];
    
    _textView.text = @"你好吗\n我们是谁术有专攻 桂花村械15801270154 gaoyuqiang30@126.com http://www.baidu.com";
    
    NSDictionary *linkAttributes = @{NSForegroundColorAttributeName: [UIColor blueColor],
                                     NSUnderlineStyleAttributeName: @(NSUnderlineStyleSingle)};
    _textView.linkTextAttributes = linkAttributes;
    _textView.delegate = self;
    _textView.editable = NO;
    _textView.dataDetectorTypes = UIDataDetectorTypeLink | UIDataDetectorTypePhoneNumber | UIDataDetectorTypeAddress;
    
    [self.view addSubview:_textView];
    
    [self testTuple];
    
}

- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange {
    if ([URL.scheme isEqualToString:@"tel"]) {
        NSLog(@"phone---");
        return NO;
        
    } else if ([URL.scheme isEqualToString:@"mailto"]) {
        NSLog(@"mail");
        return NO;
        
    } else {
        NSLog(@"url");
        return NO;
    }
    return YES;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值