0

UITextFieldユーザーがスペースとバックスペースボタンに触れたときに何らかのアクションを実行したいと考えています。どうやってやるの?キーボード通知を使用する必要があることはわかっています。どのキーが触れた値を取得する方法を教えてもらえますか?

4

3 に答える 3

2

テキストフィールドデリゲートのメソッドを実装できますtextField:shouldChangeCharactersInRange:replacementString:

于 2012-10-11T08:44:24.430 に答える
1

必ずしもそうとは限りませんが、より良い解決策は、参照UITextFieldDelegateを読むことです。使用できるメソッドが含まれています。textField:shouldChangeCharactersInRange:replacementString:

バックスペースの検出に関しては、このトピックをカバーするSOに関する質問がたくさんあります。

于 2012-10-11T08:46:53.223 に答える
1

サンプルコードは次のとおりです。

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {

NSString *resultingString = [textField.text stringByReplacingCharactersInRange: range withString: string];
NSCharacterSet *whitespaceSet = [NSCharacterSet whitespaceCharacterSet];

if  ([resultingString rangeOfCharacterFromSet:whitespaceSet].location == NSNotFound)      {

 //Your Code Here

    return YES;

}  else  {

    return NO;
}}

編集:

(テキストのどこかに)空白があるかどうかを確認したい場合は、次のように行うことができます。

NSRange range = [[textField text] rangeOfCharacterFromSet:whitespace];
if (range.location != NSNotFound) {
// There is whitespace.
}
于 2012-10-11T08:49:00.390 に答える