UIKeyboardTypeNumberPad-показать только numbes на iPad?

UIKeyboardTypeNumberPad не отображает цифровую панель на iPad. Вместо этого он показывает клавиатуру uikeyboardtypenumbersandpunctuation.

есть ли что-то, чего мне не хватает, или это было удалено из ОС iPad?

Спасибо за ваши рекомендации!

3 ответов


Я считаю, что в настоящее время это не поддерживается в iPhoneOS 3.2 на iPad

чтобы процитировать файл заголовка UITextInputTraits:

//
// UIKeyboardType
//
// Requests that a particular keyboard type be displayed when a text widget
// becomes first responder. 
// Note: Some keyboard/input methods types may not support every variant. 
// In such cases, the input method will make a best effort to find a close 
// match to the requested type (e.g. displaying UIKeyboardTypeNumbersAndPunctuation 
// type if UIKeyboardTypeNumberPad is not supported).
//

добавить UITextFieldDelegate в заголовочном файле (.файл ч)

txtfield_name.keyboardType=UIKeyboardTypeNumbersAndPunctuation;
txtfield_name.delegate=self;

затем добавьте этот метод

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

 NSString *validRegEx =@"^[0-9]*$"; //change this regular expression as your requirement
 NSPredicate *regExPredicate =[NSPredicate predicateWithFormat:@"SELF MATCHES %@", validRegEx];
 BOOL myStringMatchesRegEx = [regExPredicate evaluateWithObject:string];
 if (myStringMatchesRegEx)
        return YES;
 else
        return NO;
}

Я знаю, что этот вопрос был не активен долгое время, но это может помочь кому-то там.

вы можете попробовать реализовать этот https://github.com/azu/NumericKeypad. Кодер реализовал свой собственный номер pad купить подкласс UITextField