UITextView implement hyper linker

转载 2013年12月03日 19:16:08

用UITextView的dataDetectorTypes属性可完成类似功能
此属性可以设定使电话号码、网址、电子邮件和符合格式的日期等文字变为链接文字。
电话号码点击后拨出电话,网址点击后会用Safari打开,电子邮件会用mail打开,而符合格式的日期会弹出一个ActionSheet,有创建事件,在Calendar中显示,和拷贝三个选项。

  1. enum {
  2.     UIDataDetectorTypePhoneNumber   = 1 << 0,          // Phone number detection
  3.     UIDataDetectorTypeLink          = 1 << 1,          // URL detection   
  4. #if __IPHONE_4_0 <= __IPHONE_OS_VERSION_MAX_ALLOWED
  5.     UIDataDetectorTypeAddress       = 1 << 2,          // Street address detection
  6.     UIDataDetectorTypeCalendarEvent = 1 << 3,          // Event detection
  7. #endif   
  8.  
  9.     UIDataDetectorTypeNone          = 0,               // No detection at all
  10.     UIDataDetectorTypeAll           = NSUIntegerMax    // All types
  11. };
  12. typedef NSUInteger UIDataDetectorTypes;

用UITextView的dataDetectorTypes属性可完成类似功能此属性可以设定使电话号码、网址、电子邮件和符合格式的日期等文字变为链接文字。电话号码点击后拨出电话,网址点击后会用Safari打开,电子邮件会用mail打开,而符合格式的日期会弹出一个ActionSheet,有创建事件,在Calendar中显示,和拷贝三个选项。

  1. enum {
  2.     UIDataDetectorTypePhoneNumber   = 1 << 0,          // Phone number detection
  3.     UIDataDetectorTypeLink          = 1 << 1,          // URL detection   
  4. #if __IPHONE_4_0 <= __IPHONE_OS_VERSION_MAX_ALLOWED
  5.     UIDataDetectorTypeAddress       = 1 << 2,          // Street address detection
  6.     UIDataDetectorTypeCalendarEvent = 1 << 3,          // Event detection
  7. #endif   
  8.  
  9.     UIDataDetectorTypeNone          = 0,               // No detection at all
  10.     UIDataDetectorTypeAll           = NSUIntegerMax    // All types
  11. };
  12. typedef NSUInteger UIDataDetectorTypes;

以上是UIKit框架中,UIDataDetectors.h文件内关于UIDataDetectorTypes的定义。由定义可以看出,我们可以使用|的关系来指定自己想要的链接化文字的方式。
测试代码:

  1. UITextView *mtextview = [[UITextView alloc] initWithFrame:CGRectMake(550, 360, 200, 200)];
  2.         mtextview.backgroundColor = [UIColor grayColor];
  3.         mtextview.dataDetectorTypes = UIDataDetectorTypeAll;
  4.         mtextview.editable = NO;(必须的)
  5.         mtextview.text = @"My phone number is +8602980000000.\r\n"
  6.         "My personal web site www.xxxxxx.com.\r\n"
  7.         "My E-mail address is XXXXX@gmail.com.\r\n"
  8.         "I was born in 1900-01-01.";
  9.         [self addSubview:mtextview];
  10.         [mtextview release];

就是这样,神奇的超链接功能就实现啦


相关文章推荐

UITextView增加PlaceHolder

  • 2016-04-18 15:46
  • 58KB
  • 下载

UITextView+placeholder

Hyper-V安裝筆記

從架構上講Hyper-V只有“硬體-Hyper-V-虛擬機器”三層,本身較小巧,代碼簡單,且不包含任何協力廠商驅動, 所以安全可靠、執行效率高,能充分利用硬體資源,使虛擬機器系統性能更接近真實系統性能...

uitextview

  • 2014-01-01 22:40
  • 1.02MB
  • 下载

UITextView

Hyper-V虚拟机联网-虚拟交换机的建立

在上一篇博客中我们了解了虚拟机的建立方法,现在我们来介绍一下虚拟机联网的实现过程。         我们都知道,自己电脑的联网是通过插网线,输入宽带账户密码实现的,但是我们在虚拟机当中是找不到这些设...

UITextView

  • 2015-10-16 09:33
  • 67KB
  • 下载

Deskpool 之 Microsoft hyper-V server 2012 部署二

准备工作: 1、准备安装部署文件。 (1)59manager   第三方hyper-V 管理工具  (2)Deskpool_Hyper-V_2012R2_v1_5_0  deskpool安装包 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)