UITextView の編集検知はdelegate メソッドのtextViewDidChange: で行う

投稿者: | 2013/11/18

UITextView の編集検知

テキストビューの編集に応じて何かやりたい場合ってありますよね。

例えば入力の有無によってツールバーのボタンを変更するとか。

そうすると、UITextView が編集されたことを知る必要があるわけですが、そんなときはUITextViewDelegate のtextViewDidChange: メソッドを利用します。

 

1.UITextViewDelegate プロトコルを追加

まず.hファイルにUITextViewDelegate プロトコルを追加。

MyViewController.h

#import <UIKit⁄UIKit.h>

@interface MyViewController : UIViewController <UITextViewDelegate>

⁄⁄ 以下略

 

2.delegate を設定

次に.mファイルのViewDidLoad でdelegate を設定。

MyViewController.m

#import "MyViewController.h"

@interface MyViewController ()

@end

@implementation MyViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    [self.myTextView setDelegate:self];
}

⁄⁄ 以下略

 

3.textViewDidChange: メソッドを実装

MyViewController.m

⁄⁄ 前略

- (void)textViewDidChange:(UITextView *)textView {
    ⁄⁄ ここにUITextView 編集後に行わせたい処理を書く
}

@end

 

ちなみに

これは編集「後」に呼び出されるメソッドなので、編集「中」とかだとまた別のメソッドがあります。

 



 

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください