У меня есть textField, созданный в IB. Я установил тип клавиатуры на Numeric Pad
в IB.
Когда я делаю secureTextEntry = YES
в методе -(void)textFieldDidBeginEditing:(UITextField *)textField
, моя клавиатура меняется с цифровой на обычную. Я даже пытался заставить клавиатуру быть числовой программно, но все равно она не меняется.
Я установил это так
-(void)textFieldDidBeginEditing:(UITextField *)textField{
if(textField == self.activationCodeTextField){
self.activationCodeTextField.secureTextEntry = YES;
self.activationCodeTextField.keyboardType = UIKeyboardTypeNumberPad;
}
}
FYI,
Я не могу установить безопасность textField в IB, потому что у меня есть текст подсказки, такой как «4 цифры», отображаемый пользователю в текстовом поле, пока он не начнет печатать в текстовом поле. Как только он начнет печатать в текстовом поле, я хочу, чтобы записи были безопасным текстом, чтобы он отображал только * вместо реальных символов, которые он вводит.
Не могли бы вы сообщить мне, что не так в том, что я делаю?
У меня также есть еще два запроса
У меня есть текстовое поле, где у меня есть текст по умолчанию (например, текст подсказки). Я хочу, чтобы этот текст подсказки отображался пользователю до того момента, когда он начнет печатать. Я не хочу очищать этот текст, когда пользователь нажимает на текстовое поле, а затем текст по умолчанию удаляется. но я хочу, чтобы этот текст отображался до того момента, пока он фактически не начнет печатать что-то на клавиатуре, затем необходимо очистить значение по умолчанию и затем ввести текст, введенный в текст, для отображения в текстовом поле. Возможно ли это достичь?
Можно ли программно установить позицию курсора в текстовое поле для первого символа. Это необходимо, потому что у меня есть текст по умолчанию (текст подсказки), и курсор находится в конце текста. Я хочу, чтобы курсор был в начале текста. Как сделать это возможным программно?