حرف فقط - غير خاص / أرقام من لوحة المفاتيح - iPhone
-
16-09-2019 - |
سؤال
طبيعي UITextField
يعرض أ UIKeyboard
التي تضم ألفا + العددية + العروض الخاصة
ولكن أحتاج ألفا فقط ...
أحتاج إلى هذا لأنه إذا دخل المستخدم شيئا مثل - A'BAD
لديها شار '- وهو ما يؤثر على استفسالي.
كيف يمكننا ضبط فقط alphabetic
UIKeyboard
إلى المستخدم؟
المحلول
هذا ما بعد الرد على سؤالك:نوع Uikeyboard
نصائح أخرى
أظن. حصلت على الجواب.
في الخاص بك UIViewController
ملف .h. يضيف delegate<UITextfieldDelegate>
الآن إضافة التعليمة البرمجية التالية .. ملف
- (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;
}
يجب عليك استخدام كما فعلت أدناه؛
- (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;
}
بدلا من تعطيل أو عدم السماح للمستخدم بإضافة "(Apostorpe)، استخدم التعليمات البرمجية التالية، سيتيح لك إدراج" (Apostorpe)
[textEntered stringByReplacingOccurrencesOfString:@" ' " withString:@" ' '"];
لا تنتمي إلى StackOverflow