ios 开发UI篇—UITextView

概述

  • UITextView可滚动的多行文本区域
  • UITextView支持使用自定义样式信息显示文本,并支持文本编辑。您通常使用文本视图来显示多行文本,例如在显示大型文本文档的正文时。
  • UITextView继承于UIScrollView

属性和方法

初始化方法

UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(50, 50, [UIScreen mainScreen].bounds.size.width - 100, 300)]; 

设置文本内容

textView.text = @"测试数据";

attributedText属性文本,这里不多做介绍,具体请点此查看

设置文本的字体

textView.font = [UIFont systemFontOfSize:20];

设置文本的颜色

textView.textColor = [UIColor redColor];

设置是否可以编辑,默认是YES

[textView setEditable:NO];

设置文本的对齐方式

textView.textAlignment = NSTextAlignmentRight;

使用dataDetectorTypes实现超链接,需要将可编辑状态设置为NO(更多枚举类型到补充说明中查看)

textView.text = @"http://baidu.com";
[textView setEditable:NO];
textView.dataDetectorTypes = UIDataDetectorTypeLink;

UITextView代理方法

即将开始编辑

- (BOOL)textViewShouldBeginEditing:(UITextView *)textView;

已经开始编辑

- (void)textViewDidBeginEditing:(UITextView *)textView;

编辑即将结束

- (BOOL)textViewShouldEndEditing:(UITextView *)textView;

编辑已经结束

- (void)textViewDidEndEditing:(UITextView *)textView;

文本视图在用户输入新字符或删除现有字符时调用此方法

- (BOOL)textView:(UITextView *)textView 
shouldChangeTextInRange:(NSRange)range 
 replacementText:(NSString *)text;

输入的内容已经变化时调用此方法

- (void)textViewDidChange:(UITextView *)textView;

文本视图的选择已更改,就会调用此方法

- (void)textViewDidChangeSelection:(UITextView *)textView;

如果用户点击或长按文本附件,而其image属性不是,则文本视图将调用此方法nil。您可以使用此方法触发一个操作,除了显示与文本内联的文本附件外。

- (BOOL)textView:(UITextView *)textView shouldInteractWithTextAttachment:(NSTextAttachment *)textAttachment inRange:(NSRange)characterRange interaction:(UITextItemInteraction)interaction; 

该方法仅在与URL链接的第一次交互时被调用。例如,当用户希望首次与URL进行交互以显示可以采取的操作列表时,将调用此方法; 如果用户从列表中选择一个打开的动作,则不调用此方法,因为“open”表示与同一个URL的第二个交互。

- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange interaction:(UITextItemInteraction)interaction; 

文本视图中的链接只有在文本视图可选但不可编辑的情况下才是交互式的。也就是说,如果该值属性是与属性。UITextViewselectableYESeditableNO

补充说明

UITextView相关通知

UITextView相关通知名称说明
UITextViewTextDidBeginEditingNotificationTextView开始编辑时发出的通知
UITextViewTextDidChangeNotificationTextView的内容开始改变时发出的通知
UITextViewTextDidEndEditingTextView结束编辑时发出的通知

UITextViewdataDetectorTypes属性对应的枚举以及说明

类型说明
UIDataDetectorTypePhoneNumber检测格式化为电话号码的字符串。
UIDataDetectorTypeLink检测格式为URL的字符串。
UIDataDetectorTypeAddress检测格式为地址的字符串。
UIDataDetectorTypeCalendarEvent检测格式化为日历事件的字符串。
UIDataDetectorTypeShipmentTrackingNumber检测格式化为包裹递送公司的跟踪号码的字符串。
UIDataDetectorTypeFlightNumber检测格式化为航空公司航班号的字符串。
UIDataDetectorTypeLookupSuggestion检测格式化为用户可能要查找的信息的字符串。
UIDataDetectorTypeNone不支持超链接
UIDataDetectorTypeAll接收所有类型的字符串
作者: coder小鹏
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值