UIViewでUIKeuInputをdelegateするにはcanBecomeFirstResponderが必要


まず、 UIKeyInputのデリゲート対象になるUIVeiwを何かひとつ決めなければならない。そして、このUIViewのなかで
– (BOOL)canBecomeFirstResponder
{
return YES;
}
する

UIKeyInputをはじめるタイミングで、[self becomeFirstResponder]する。例えばこのUIView内で、
– (void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event
{
[self becomeFirstResponder];
}
とか。

こうしてはじめて、このUIViewの@ implementationのなかで、
– (BOOL)hasText{}
– (void)insertText:(NSString*)aString{}
– (void)deleteBackward{}
が使えるようになる。

canBecomeFirstResponderを知らないことと、何かdelegate先指定が必要だとばかり思い込んでどうやって指定するか調べまわって遠回りしてしまった。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中