unico personaggio - non speciali / numeri da tastiera - iPhone
-
16-09-2019 - |
Domanda
UITextField
Normale visualizza un UIKeyboard
che comprende alpha + Numberic + speciali
Ma ho bisogno di alpha solo ...
Ho bisogno di questo perché se l'utente immette qualcosa di simile - A'bad
ha un carattere '-. Che sta colpendo la mia domanda
Come possiamo solo impostare alphabetic
UIKeyboard
all'utente?
Soluzione
Questo post SO risponde alla tua domanda: UIkeyboard digitare
Altri suggerimenti
Credo. Ho avuto la risposta.
Nel file UIViewController
.h aggiungere delegate<UITextfieldDelegate>
Ora aggiungere seguente codice .m file
- (BOOL) textField:(UITextField*)textField
shouldChangeCharactersInRange:(NSRange)range
replacementString:(NSString*)textEntered {
for (int i = 0; i < [textEntered length]; i++) {
unichar c = [textEntered characterAtIndex:i];
if (![myCharSet characterIsMember:c]) {
return NO;
}
}
return YES;
}
Si dovrebbe usare come faccio di seguito;
- (BOOL)textField:(UITextField *)field shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)characters
{
NSMutableCharacterSet *filteredChars = [NSMutableCharacterSet letterCharacterSet];
[filteredChars formUnionWithCharacterSet:[NSCharacterSet whitespaceCharacterSet]];
NSCharacterSet *blockedCharSet = [filteredChars invertedSet];
if (([string rangeOfCharacterFromSet:blockedCharSet].location == NSNotFound)) {
return YES;
}
return NO;
}
Invece di disattivazione o di non permettere all'utente di aggiungere '(apostorpe) utilizzare seguente codice, che vi permetterà di inserire' (apostorpe)
[textEntered stringByReplacingOccurrencesOfString:@" ' " withString:@" ' '"];