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 相关通知名称 |
说明 |
---|---|
UITextViewTextDidBeginEditingNotification | TextView 开始编辑时发出的通知 |
UITextViewTextDidChangeNotification | TextView 的内容开始改变时发出的通知 |
UITextViewTextDidEndEditing | TextView 结束编辑时发出的通知 |
UITextView
的dataDetectorTypes
属性对应的枚举以及说明
类型 | 说明 |
---|---|
UIDataDetectorTypePhoneNumber | 检测格式化为电话号码的字符串。 |
UIDataDetectorTypeLink | 检测格式为URL的字符串。 |
UIDataDetectorTypeAddress | 检测格式为地址的字符串。 |
UIDataDetectorTypeCalendarEvent | 检测格式化为日历事件的字符串。 |
UIDataDetectorTypeShipmentTrackingNumber | 检测格式化为包裹递送公司的跟踪号码的字符串。 |
UIDataDetectorTypeFlightNumber | 检测格式化为航空公司航班号的字符串。 |
UIDataDetectorTypeLookupSuggestion | 检测格式化为用户可能要查找的信息的字符串。 |
UIDataDetectorTypeNone | 不支持超链接 |
UIDataDetectorTypeAll | 接收所有类型的字符串 |
作者:coder小鹏
ios 开发UI篇—UITextView的更多相关文章
- iOS开发UI篇—Quartz2D使用(信纸条纹)
iOS开发UI篇—Quartz2D使用(信纸条纹) 一.前导程序 新建一个项目,在主控制器文件中实现以下几行代码,就能轻松的完成图片在视图中的平铺. #import "YYViewContr ...
- iOS开发UI篇—CAlayer(自定义layer)
iOS开发UI篇—CAlayer(自定义layer) 一.第一种方式 1.简单说明 以前想要在view中画东西,需要自定义view,创建一个类与之关联,让这个类继承自UIView,然后重写它的Draw ...
- iOS开发UI篇—UITabBarController简单介绍
iOS开发UI篇—UITabBarController简单介绍 一.简单介绍 UITabBarController和UINavigationController类似,UITabBarControlle ...
- iOS开发UI篇—懒加载
iOS开发UI篇—懒加载 1.懒加载基本 懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小).所谓懒加载,写的是其get方法. 注意:如果是懒加载的话则一定要注意先判断是否已经有了, ...
- iOS开发UI篇—CAlayer层的属性
iOS开发UI篇—CAlayer层的属性 一.position和anchorPoint 1.简单介绍 CALayer有2个非常重要的属性:position和anchorPoint @property ...
- iOS开发UI篇—CAlayer(创建图层)
iOS开发UI篇—CAlayer(创建图层) 一.添加一个图层 添加图层的步骤: 1.创建layer 2.设置layer的属性(设置了颜色,bounds才能显示出来) 3.将layer添加到界面上(控 ...
- iOS开发UI篇—CALayer简介
iOS开发UI篇—CALayer简介 一.简单介绍 在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮.一个文本标签.一个文本输入框.一个图标等等,这些都是UIView. 其实 ...
- iOS开发UI篇—核心动画(UIView封装动画)
iOS开发UI篇—核心动画(UIView封装动画) 一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画 ...
- iOS开发UI篇—核心动画(转场动画和组动画)
转自:http://www.cnblogs.com/wendingding/p/3801454.html iOS开发UI篇—核心动画(转场动画和组动画) 一.转场动画简单介绍 CAAnimation的 ...
随机推荐
- jquery实现复选框全选,全不选,反选中的问题
今天试了一下用jquery选择复选框,本来以为很简单的东西却有bug,于是搜索了一下找到了解决方法. html代码如下(这里没有用任何样式,就没有再放css了): <html> <h ...
- EOS下控制台以及图形界面打印sql语句
EOS下控制台以及图形界面打印sql语句 场景需求:在eos中打印sql语句,包括数据实体,查询实体和命名sql的sql语句. 所需资源: P6spy:负责拦截sql,并打印. Sqlprofiler ...
- 分享泛微公司OA系统用于二次开发的sql脚本
本单位用的oa系统就是泛微公司的oa协同办公平台,下面是我对他进行二次开发统计用到的写数据库脚本,只做开发参考使用,对于该系统的二次开发技术交流可以加我q:2050372586 [仪表盘]格式sql编 ...
- Android开发各种Utils收集库
为方便查找,已进行大致归类,其目录如下所示: Activity相关→ActivityUtils.java→Demo isActivityExists : 判断是否存在Activity launchAc ...
- Android资源文件说明
一. Android资源文件简介 1. Android应用资源的作用 (1) Android项目中文件分类 在Android工程中, 文件主要分为下面几类 : 界面布局文件, Java src源文件, ...
- 用Use Case获取需求的方法是否有缺陷,还有哪些地方需要改进
(提示:是否对所有应用领域都适用?使用的方便性?......) Use Case使用原则: 1.通过讲简单的故事来传递消息 讲故事是最有效的人与人交流信息的途径.通过讲故事(Use Case),团队成 ...
- spring boot(10)-tomcat jdbc连接池
默认连接池 tomcat jdbc是从tomcat7开始推出的一个连接池,相比老的dbcp连接池要优秀很多.spring boot将tomcat jdbc作为默认的连接池,只要在pom.xml中引入了 ...
- C# 实现水印
直接上源码 public class WaterTextBox : TextBox { //private const int EM_SETCUEBANNER = 0x1501; //[DllImpo ...
- SpringMVC框架项目在编译运行是常见错误
1.问题描述(Spring_shizhan4ban_Chapter05应用):在自动注入FileValidator对象引用类型时报错,由于FileValidator是实体类,没有实现接口. @Auto ...
- (1)基于tcp协议的编程模型 (2)tcp协议和udp协议的比较 (3)基于udp协议的编程模型 (4)反射机制
1.基于tcp协议的编程模型(重中之重)1.1 编程模型服务器: (1)创建ServerSocket类型的对象,并提供端口号: (2)等待客户端的连接请求,调用accept()方法: (3)使用输入输 ...