===================================

UITextView

===================================

1.UITextView常用属性

- (void)viewDidLoad {

[super viewDidLoad];

//天生就会滚动,就是UIScrollView的子类

//ViewController试图控制器一旦检测到自己是在NavigationController中,就会把可以滚动的视图留出一个导航栏高度的位置,因为会滚动的视图通常被设计为全屏使用。反之如果没被装在NavigationController中系统不会给你留白。

//解决方案:

self.automaticallyAdjustsScrollViewInsets = NO;

UITextView * tv = [[UITextView alloc]initWithFrame:CGRectMake(10, 100, 300, 100)];

tv.backgroundColor = [UIColor orangeColor];

//设置字体

tv.font = [UIFont systemFontOfSize:30];

//设置字体颜色

tv.textColor = [UIColor blueColor];

//设置文字对齐方式

tv.textAlignment = NSTextAlignmentLeft;

//设置是否滚动

tv.scrollEnabled = YES;

//设置键盘色彩

tv.keyboardAppearance = UIKeyboardAppearanceAlert;

//设置键盘样式

tv.keyboardType = UIKeyboardTypeDefault;

//设置return按键的样式

tv.returnKeyType = UIReturnKeyDone;

//设置是否自动大小写

tv.autocapitalizationType = UITextAutocapitalizationTypeNone;

//设置是否自动纠错

tv.autocorrectionType = UITextAutocorrectionTypeNo;

//设置自定义键盘

UIView * keyView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 0, 300)];

keyView.backgroundColor = [UIColor greenColor];

//tv.inputView = keyView;

//设置二级键盘

tv.inputAccessoryView = nil;

//设置禁止编辑

tv.editable = YES;

//设置文本内容

tv.text = @"真是全都忘了";

//设置不能进行交互

tv.userInteractionEnabled = YES;

//控制器没有tag,只有UIView子类有

tv.tag = 100;

//设置代理

tv.delegate = self;

[self.view addSubview:tv];

self.view.backgroundColor = [UIColor whiteColor];

}

2.UITextView常用代理方法

#pragma mark - 实现代理

-(BOOL)textViewShouldBeginEditing:(UITextView *)textView

{

NSLog(@"将要开始编辑,返回YES允许编辑,NO不允许");

return YES;

}

-(BOOL)textViewShouldEndEditing:(UITextView *)textView

{

NSLog(@"将要结束编辑,返回YES允许,NO不允许");

return YES;

}

-(void)textViewDidBeginEditing:(UITextView *)textView

{   //焦点不在tv身上

NSLog(@"已经开始编辑");

}

-(void)textViewDidEndEditing:(UITextView *)textView

{

NSLog(@"已经结束编辑");

}

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

{

NSLog(@"当文本内容将要发生改变,参考UITextField");

return YES;

}

-(void)textViewDidChange:(UITextView *)textView

{

NSLog(@"当文本内容已经改变");

}

-(void)textViewDidChangeSelection:(UITextView *)textView

{

NSLog(@"选中的内容发生改变");

//获取选中文本的范围

NSRange range = textView.selectedRange;

//把选中文本得到

NSString * str = [textView.text substringWithRange:range];

NSLog(@"您选中了%@",str);

}

UITextView学习笔记的更多相关文章

  1. IOS学习笔记(四)之UITextField和UITextView控件学习

    IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...

  2. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  3. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  4. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  5. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  6. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  7. seaJs学习笔记2 – seaJs组建库的使用

    原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...

  8. CSS学习笔记

    CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...

  9. HTML学习笔记

    HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...

随机推荐

  1. Apache配置详解(最好的APACHE配置教程)

    From: http://aiks.blog.com.cn/archives/2006/1748482.shtml Apache的配置 Apache的配置由httpd.conf文件配置,因此下面的配置 ...

  2. es之路由:进一步提高Elasticsearch的检索效率(适用大规模数据集)

    1:一条数据是如何落地到对应的shard上的 当索引一个文档的时候,文档会被存储到一个主分片中. Elasticsearch 如何知道一个文档应该存放到哪个分片中呢? 首先这肯定不会是随机的,否则将来 ...

  3. 在JS中统计函数执行次数

    一.统计函数执行次数 常规的方法可以使用 console.log 输出来肉眼计算有多少个输出 不过在Chrome中内置了一个 console.count 方法,可以统计一个字符串输出的次数.我们可以利 ...

  4. 第四周总结 & 实验报告(二)

    第四周课程总结 一.String类 1.实例化 (1)直接赋值 public class Xxxx{ public static void main(String args[]){ String a ...

  5. 一、基础篇--1.1Java基础-包装类的装箱和拆箱

    包装类:java是典型的面向对象编程,但是八种基本数据类型并不支持面向对象编程.基本类型的数据不具备对象的特性,没有属性和方法.沿用它们只是为了迎合人类根深蒂固的习惯,并的确能简单.有效地进行常规数据 ...

  6. [学习笔记] Gibbs Sampling

    Gibbs Sampling Intro Gibbs Sampling 方法是我最近在看概率图模型相关的论文的时候遇见的,采样方法大致为:迭代抽样,最开始从随机样本中抽样,然后将此样本作为条件项,按条 ...

  7. 彩色点云生成mesh的纹理

    上一篇文章 https://www.cnblogs.com/lovebay/p/11423576.html ,我们使用MPA算法实现了 点云生成mesh,但仅仅实现mesh的顶点着色,为了让mesh有 ...

  8. jest 的 coverage 提示 unknown 的解决方案

    概述 这几天玩 jest ,我在运行单元测试之后 coverage 总是显示 unknown,花了很多时间排查原因,最后终于想明白了,记录下来,供以后开发时参考,相信对其他人也有用. coverage ...

  9. VS2010远程调试C#程序

    场景: 客户的计算机运行程序出现异常,由于办公场所不在一起,无法直接在客户的机器上调试.此时希望可以直接在开发人员的计算机(本地机器)上远程调试客户机上的软件. 假设: 本地机器的系统账户为 GIS, ...

  10. 阶段3 1.Mybatis_08.动态SQL_01.mybatis中的动态sql语句-if标签

    创建新的工程 复制到新建的项目里面 pom.xml依赖部分复制过来 dao中整理代码 只保留四个查询 映射文件也只保留四个查询方法 增加一个根据条件查询的方法. 由于用了别名,所以parpameter ...