سؤال

طبيعي 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:@" ' '"];
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top