こんにちは、UITextField を作成しました。これを 3 文字に制限したいと考えています。空の場合、ボタンを有効にしない場合はボタンを無効にします。誰もこれを行う方法を知っていますか?
試してみましたが、3文字を入力すると正しく機能しません.3と表示されますが、キーボードを閉じません.これを行うためのより良い方法があると感じずにはいられません.
これが私がやったことです
- (void)hideKeyboardAction {
NSLog(@"Hide");
if([self.playerName length] >= 4){
[self.nameTextField resignFirstResponder];
} else if([self.playerName length] < 3) {
[self.addToScores setEnabled:FALSE];
}
}
- (IBAction)hideKeyboard:(id)sender {
[self hideKeyboardAction];
}
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
self.playerName = [textField.text stringByReplacingCharactersInRange:range withString:string];
if([self.playerName length] <4 ){
[self hideKeyboardAction];
}
if([self.playerName length] > 3){
[self.addToScores setEnabled:FALSE];
}
BOOL shouldStayOpen = !([self.playerName length] > 3);
return shouldStayOpen;
}