iOS 监听UITextView内容的改变

长文本输入时比较喜欢用UITextView,因为它会自动换行,比UITextField好用些,但是当需要监听text view中的内容变化时。Apple缺没有提供像UITextField那样方便的代理方法。

其实要监测text view中内容的改变也不难,只需下面三步操作,即可实现与UITextField的代理方法相似的效果。

1、在- (void) viewDidLoad;使用通知中心,给UITextView添加观察者

1 NSNotificationCenter *nc  = [NSNotificationCenter defaultCenter];
2 [nc addObserver:self selector:@selector(textViewTextChangeAction) name:UITextViewTextDidChangeNotification object:nil];

2、实现 @selector()方法

按上面代码为例,实现- (void)textViewTextChangeAction;方法

- (void)textViewTextChangeAction{

    //text view 内容变化时要进行的操作

}

3、在- (void)dealloc;中释放观察者

由于我用的是ARC ,所以不需要调用 [super dealloc];

1 -(void)dealloc{
2     NSNotificationCenter * nc = [NSNotificationCenter defaultCenter];
3     [nc removeObserver:self];
4 }
时间: 2024-08-09 19:47:30

iOS 监听UITextView内容的改变的相关文章

时时监听input内容的改变

心得:我们都知道inoput有一个change事件,但是是在input元素失去焦点的时候发生,不能时时的监听input内容的改变. 刚开始的时候我是想用setInterval设置计时器的原理定时监听input内容的改变,但是结果差强人意,效果一点也不好,有时候操做过快还会出现undefined的情况. 解决方法:通过阅读资料了解到input有意的input事件在大多当今主流的浏览器都能实现对input输入内容的时时监听: <input id="test"/> $("

Android学习笔记二十二.使用ContentProvider实现数据共享(五).监听ContentProvider的数据改变

一.使用ContentProvider管理多媒体内容 Android提供了Camera程序来支持拍照.拍摄视频,用户拍摄的相片.视频都将存放在固定的位置.Android同样为这些多媒体内容提供了ContentProvider,所以我们可以通过使用ContentProvider实现其他应用直接访问Camera所拍摄的照片.视频等. 1.多媒体ContentProvider的Uri (1)MediaStore.Audio.Media.EXTERNAL_CONTENT_URI:存储在外部存储器(SD卡

17.swift怎么监听该属性的改变

import UIKit class Person : NSObject { var name : String? { // 可以给newValue自定义名称 willSet (new){ // 属性即将改变,还未改变时会调用的方法 // 在该方法中有一个默认的系统属性newValue,用于存储新值 print(name) print(new) } // 可以给oldValue自定义名称 didSet (old) { // 属性值已经改变了,会调用的方法 // 在该方法中有一个默认的系统属性ol

监听浏览器窗口大小的改变

<script type="text/javascript"> <!-- var winWidth = 0; var winHeight = 0; function findDimensions() //函数:获取尺寸 { //获取窗口宽度 if (window.innerWidth) { winWidth = window.innerWidth; } else if ((document.body) && (document.body.clientW

ios 监听TextField中内容变化

本篇文章只为帮助跟多的人.适合初学者. 在这里我介绍3种监听UITextField的方法.并在最后写了一个小的demo 提供参考. -------请不要纠结小编的命名方式规不规范,一切只为共同学习,共同进步. @property (weak, nonatomic) IBOutlet UITextField *UserID; @property (weak, nonatomic) IBOutlet UITextField *Password; @property (weak, nonatomic)

iOS开发之监听网络连接,改变,断开

做iOS开发时,我们需要监控/监听网络状况,苹果提供了Reachability.h, Reachability.m. 导入Reachability.h 我们可以在 MainViewController的viewDidLoad方法内部写上: [self checkReachability]; 之后,具体方法如下 #pragma mark #pragma mark Reachability Methods #pragma mark - (void)checkReachability { [[NSNo

IOS开发:监听来电状态的改变。

#import <CoreTelephony/CTCallCenter.h> #import <CoreTelephony/CTCall.h> @property(nonatomic,strong)CTCallCenter *callCenter; 以下代码写在didFinishLaunchingWithOptions中. 必须将callCenter声明为成为变量,否则无法监听. self.callCenter = [[CTCallCenter alloc] init]; self

为UITextView添加通知..来检测UITextView内容的改变

self.mTextView =[[UITextView alloc]initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH - 100, 28)];     self.mTextView.backgroundColor =[UIColor whiteColor];     self.mTextView.delegate = self;     self.mTextView.text = @"我来说几句...."; [self.mSecondaryBac

Javascript----input事件实现动态监听textarea内容变化

1.代码 <!DOCTYPE html> <html> <head> <title>textarea输入文字监听</title> </head> <body> <textarea id='text' maxlength="50" style="width: 400px; height: 200px;"></textarea> <span id='sp'&