使用UIDataDetectorTypes将电话,网址,邮件变为链接。

UIDataDetectorTypes

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

同时我们也可以定制他的链接内容。比如只有电话变为链接,或者只有网址变为链接,或者都不变。

enum {
    UIDataDetectorTypePhoneNumber   = 1 << 0,          // Phone number detection
    UIDataDetectorTypeLink          = 1 << 1,          // URL detection    
#if __IPHONE_4_0 <= __IPHONE_OS_VERSION_MAX_ALLOWED
    UIDataDetectorTypeAddress       = 1 << 2,          // Street address detection
    UIDataDetectorTypeCalendarEvent = 1 << 3,          // Event detection
#endif    

    UIDataDetectorTypeNone          = 0,               // No detection at all
    UIDataDetectorTypeAll           = NSUIntegerMax    // All types
};

typedef NSUInteger UIDataDetectorTypes;

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

使用示例:

    UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(20, 20, 280, 200)];
    textView.dataDetectorTypes = UIDataDetectorTypeAll;
    textView.font = [UIFont systemFontOfSize:20];
    textView.editable = NO;
    textView.text = @"My phone number is +8602980000000.\r\n"
    "My personal web site www.xxxxxx.com.\r\n"
    "My E-mail address is [email protected].\r\n"
    "I was born in 1900-01-01.";
    [self.view addSubview:textView]

你可能感兴趣的:(使用UIDataDetectorTypes将电话,网址,邮件变为链接。)