2012-02-26 12 views
0

ユーザーがいくつかのUITextViewフィールドを入力しているときに、私のiPhoneアプリケーション固有の方法で反応する必要があります。iPhoneキーボード、カスタムハンドリング

3つの例は、: 'E':

  1. 私は、キーボードの場合におけるユーザータイプを却下します。
  2. ユーザーが 'nN'を入力すると、新しい入力行にジャンプしたいと思います。
  3. ユーザーが「A」または「b」を入力した場合は無視します。

私が望むことを行うには非常に簡単な方法が必要であると確信しています。しかし、ネット上でしばらくブラウジングした後、私は明確な答えを見つけることはできません。

どのように行くのですか?

ありがとうございます。ちょうどフラットアウトAとBは、このような単純なことを行うことです拒否する

答えて

1

を与えたかった、テキストフィールドにデリゲート(UITextFieldDelegateプロトコルを実装)を得て、デリゲートで、textField:shouldChangeCharactersInRange:replacementString:を実装します。置換文字列を調べ、探している文字が含まれているかどうかに基づいて処理を行います。

UITextViewを使用している場合は、テキストビューに代理人(UITextViewDelegateプロトコルを実装)を与え、代理人にtextView:shouldChangeTextInRange:replacementText:を実装します。

0

I簡単な方法(あなたが空を実行するには、チェックタイマーをアップになるだろう)

- (void) something { 

if([statusString isEqualToString:@"a"]){ 
    statusString == @""; 
} 

} 

場合、これは、単純にすべてのものを削除しますユーザーはaを入力します。 あなたがUITextFieldを使用している場合、これはあなたが望むものを正確ではないかもしれないが、私は最初に

1

あなたのUITextViewDelegateでこれを実装してみてください:

https://developer.apple.com/library/ios/#documentation/uikit/reference/UITextViewDelegate_Protocol/Reference/UITextViewDelegate.html

replacementTextを確認してください。それが@ "e"の場合は、UITextViewでresignFirstResponderと呼び出し、NOを返します。

「A」または「b」の場合はNOを返します。

私は他のものについては正確ではありませんが、ここでもそれを処理してNOを返すことができます。

関連する問題