概述

  • 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结束编辑时发出的通知

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

类型 说明
UIDataDetectorTypePhoneNumber 检测格式化为电话号码的字符串。
UIDataDetectorTypeLink 检测格式为URL的字符串。
UIDataDetectorTypeAddress 检测格式为地址的字符串。
UIDataDetectorTypeCalendarEvent 检测格式化为日历事件的字符串。
UIDataDetectorTypeShipmentTrackingNumber 检测格式化为包裹递送公司的跟踪号码的字符串。
UIDataDetectorTypeFlightNumber 检测格式化为航空公司航班号的字符串。
UIDataDetectorTypeLookupSuggestion 检测格式化为用户可能要查找的信息的字符串。
UIDataDetectorTypeNone 不支持超链接
UIDataDetectorTypeAll 接收所有类型的字符串

作者:coder小鹏

ios 开发UI篇—UITextView的更多相关文章

  1. iOS开发UI篇—Quartz2D使用(信纸条纹)

    iOS开发UI篇—Quartz2D使用(信纸条纹) 一.前导程序 新建一个项目,在主控制器文件中实现以下几行代码,就能轻松的完成图片在视图中的平铺. #import "YYViewContr ...

  2. iOS开发UI篇—CAlayer(自定义layer)

    iOS开发UI篇—CAlayer(自定义layer) 一.第一种方式 1.简单说明 以前想要在view中画东西,需要自定义view,创建一个类与之关联,让这个类继承自UIView,然后重写它的Draw ...

  3. iOS开发UI篇—UITabBarController简单介绍

    iOS开发UI篇—UITabBarController简单介绍 一.简单介绍 UITabBarController和UINavigationController类似,UITabBarControlle ...

  4. iOS开发UI篇—懒加载

    iOS开发UI篇—懒加载 1.懒加载基本 懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小).所谓懒加载,写的是其get方法. 注意:如果是懒加载的话则一定要注意先判断是否已经有了, ...

  5. iOS开发UI篇—CAlayer层的属性

    iOS开发UI篇—CAlayer层的属性 一.position和anchorPoint 1.简单介绍 CALayer有2个非常重要的属性:position和anchorPoint @property ...

  6. iOS开发UI篇—CAlayer(创建图层)

    iOS开发UI篇—CAlayer(创建图层) 一.添加一个图层 添加图层的步骤: 1.创建layer 2.设置layer的属性(设置了颜色,bounds才能显示出来) 3.将layer添加到界面上(控 ...

  7. iOS开发UI篇—CALayer简介

    iOS开发UI篇—CALayer简介   一.简单介绍 在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮.一个文本标签.一个文本输入框.一个图标等等,这些都是UIView. 其实 ...

  8. iOS开发UI篇—核心动画(UIView封装动画)

    iOS开发UI篇—核心动画(UIView封装动画) 一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画 ...

  9. iOS开发UI篇—核心动画(转场动画和组动画)

    转自:http://www.cnblogs.com/wendingding/p/3801454.html iOS开发UI篇—核心动画(转场动画和组动画) 一.转场动画简单介绍 CAAnimation的 ...

随机推荐

  1. FFmpeg实现将图片转换为视频

    ##名称:ffmpeg实现将图片转换为视频 ##平台:ubuntu(已经安装好了ffmpeg工具) ##日期:2017年12月10日 简介: 因为学习需要,需要将连续图片转换成视频,昨天和今天早上用o ...

  2. python学习笔记之——python模块

    1.python模块 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python ...

  3. Material适配2 - 高级篇

    版权声明: 欢迎转载,但请保留文章原始出处 作者:GavinCT 出处:http://www.cnblogs.com/ct2011/p/4493439.html 继续Material系列,先从Tool ...

  4. 使用 PowerShell 创建和修改 ExpressRoute 线路的对等互连

    本文可帮助使用 PowerShell 在资源管理器部署模型中创建和管理 ExpressRoute 线路的路由配置. 还可以检查 ExpressRoute 线路的状态,更新.删除和取消预配其对等互连. ...

  5. 【Kettle】2、文件夹与界面介绍

    1.文件夹介绍 下载Kettle6.1解压后出现下图相关文件夹以及文件夹介绍说明: Lib:存放Kettle的核心(core)jar包.工作引擎(engine)jar包.数据库(DB) jar包.图形 ...

  6. UITabBar设置详解

    UITabBar设置详解 效果图 说明 1. 设置tabBarItem中的图片以及标题 2. 设置标题文本样式 3. 修改tabBar背景色 源码 https://github.com/YouXian ...

  7. 企业级NFS网络文件共享服务_【all】

    1.1. 什么是NFS(1台机器提供服务) Network File System(网络文件系统)通过局域网让不同的主机系统之间共享文件或目录. NFS客户端可以通过挂载的方式将NFS服务器端共享的数 ...

  8. Linux 系统的网络基础_【all】

    网络基础 1.网线:568B: 白橙 橙色 白绿 蓝色 白蓝 绿色 白棕 棕色 2.交换机:电信号转发的网络设备,它可以为接入交换机的任2个网络节点设备提供电信号通信 3.路由器:连接局域网,广域网的 ...

  9. MVC中JavaScript和CSS的自动打包与压缩

    在程序中安装System.Web.Optimization程序集 依赖关系如下图所示: 添加BundleConfiguration类 代码如下所示 注意必须使用对应的ScriptBundle和Styl ...

  10. 数据库初始化以及制作为Windows服务

    前面的博客里我讲述了一些安装过程中会出现的问题以及解决方法,下面我讲一下基本的操作. 1.初始化:(我们要现在数据库里面创建一个data文件,这里是存放数据的地方,所以要是重要的数据已经记得看清楚了删 ...