我在IB中创建了一个textField。我在IB中将小键盘类型设置为Numeric Pad
当我在secureTextEntry = YES方法中设置-(void)textFieldDidBeginEditing:(UITextField *)textField时,我的键盘从数字键盘更改为通用键盘。我什至尝试通过编程方式使小键盘成为数字键盘,但它仍然没有改变。
我已经这样设定了

-(void)textFieldDidBeginEditing:(UITextField *)textField{
    if(textField == self.activationCodeTextField){
        self.activationCodeTextField.secureTextEntry = YES;
        self.activationCodeTextField.keyboardType = UIKeyboardTypeNumberPad;
    }
}


仅供参考
我无法在IB中将textField设置为安全的,因为我在文本字段中向用户显示了诸如“ 4位数”之类的提示文本,直到他开始输入归档的文本为止。他开始在文本字段中输入内容后,我希望这些输入内容是安全的文本,以便仅显示*而不是他键入的实际字符。

您能否让我知道我在做什么错了?

我还有两个查询


我有一个textField,其中有一些默认文本(如提示文本)。我希望在用户开始输入之前一直向用户显示此提示文本。当用户单击文本字段,然后清除默认文本时,我不想清除此文本。但是,我希望此文本一直显示到他实际开始在键盘上键入内容之前,然后必须清除默认值,然后将实际键入的文本显示在文本字段上。有可能做到这一点吗?
是否可以通过编程将文本字段的光标位置设置为第一个字符。这是必需的,因为我有一些默认文本(提示文本),并且光标位于文本的末尾。我希望光标位于文本的开头。如何以编程方式使其成为可能?

最佳答案

您是否尝试过在UITextField上使用-setPlaceholder :?这样,您就无需在文本字段中放入文本,然后再手动将其转换为安全的。例如

- (void)viewDidLoad {
    ...

    [textField setSecureTextEntry:YES];
    [textField setPlaceholder:@"4-digits"];

    ...
}


这将完全解决您的最后两个问题。不过,关于第一个,我不确定是否可以为安全的UITextField使用数字键盘。如果以编程方式设置它似乎没有效果,则似乎无法实现。

10-08 05:24
查看更多