美文网首页
编辑框textfield输入字符转大小写问题

编辑框textfield输入字符转大小写问题

作者: 东岳哥哥 | 来源:发表于2018-05-31 15:31 被阅读0次
编辑框textfield输入字符转大小写问题

2018年5月31日 周四

添加监听事件

[_textField addTarget:self action:@selector(textFieldDidChanged:) forControlEvents:UIControlEventEditingDidEnd];

[_textField addTarget:self action:@selector(textFieldEditingChanged:) forControlEvents:UIControlEventEditingChanged];

正常情况下,在text改变的时候就进行转换,这也是我们期望的,然而实际上不一定如愿。

- (void)textFieldEditingChanged:(UITextField *)textFeild{

    NSString *text = [textFeild.text uppercaseString];

    if (self.textEditingChangedBlock) {

        self.textEditingChangedBlock(text, self);

    }

    textFeild.text = text;

}

这跟跟self.textField.keyboardType = UIKeyboardType;有关系的。

1)当keyboard = UIKeyboardTypeASCIICapable 类型时,是可以直接进行转换的,如下图:

image.jpeg

2)当keyboard = UIKeyboardTypeDefault 类型时,即默认类型,采用的是当前的输入方式,当前是中文输入法,依次点击了“QWE”,但是会发现编辑框里的内容是“QQWQWE”(具体啥原因不太清楚),如下图:

image.jpeg

解决方法是,在编辑结束的时候进行转换

-(void)textFieldDidChanged:(UITextField *)textField {

    if (self.textFieldDidChanged) {

        self.textFieldDidChanged(textField);

    }

}

[cell setTextFieldDidChanged:^(UITextField *textField) {

    textField.text = [textField.text uppercaseString];

}];

相关文章

网友评论

      本文标题:编辑框textfield输入字符转大小写问题

      本文链接:https://www.haomeiwen.com/subject/eybqsftx.html