现有类型是手机号码(UIDataDetectorTypePhoneNumber) 和链接 (UIDataDetectorTypesLink),要启用所有类型,可选择这里使用的所有标记(UIDataDetectorTypeAll)
用TextView 实例替代UILable实例时,一定要禁用滚动。即editable属性设为NO 。使用换行字符常量(\n)进行换行。
textView.text=@"http://www.baidu.com\n\r 303-555-1212";
textView.editable=NO;
textView.dataDetectorTypes=UIDataDetectorTypeAll;
[self.view addSubview:textView];
项目中需要在UITextView上识别URL,手机号码、邮箱地址等等信息。那么就用到了它的dataDetectorTypes属性。我的UITextView加在UITableViewCell上面的,当单元格多起来,重用的时候就发现文字的颜色出现了错乱问题;
解决:
UITextView设置了dataDetectorTypes,当赋值给它的text属性时会先用它的系统默认字体颜色处理普通文本和URL等信息(URL等是蓝色,其他是黑色),所以如果在给它的text赋值之前设置颜色相当于没用,因此要在设置为本之后再设置颜色,颜色重置。
在iPhone 3.0后就支持UIDataDetectorTypes来检测数字和链接。
UIDataDetectorTypePhoneNumber
UIDataDetectorTypeLink
UIDataDetectorTypeNone
UIDataDetectorTypeAll
可以用UIDataDetectorTypeNone 来禁止检测 数字链接问题
webView.dataDetectorTypes =UIDataDetectorTypeNone;