ios – 为UITextField添加一个永久字符

ios – 为UITextField添加一个永久字符,第1张

概述有没有办法永久性地将字母添加到用户无法删除的UITextField?我想添加一个字符,用户无法删除它,但他们仍然可以添加字母. 干杯, 附:这适用于iOS 一个UITextField有一个委托方法调用应该更改范围内的字符,这个方法基本上问,我应该添加还是删除下一个字符?从中你可以决定你想要什么.这是一些示例代码. - (BOOL)textField:(UITextField *)textField 有没有办法永久性地将字母添加到用户无法删除的UITextFIEld?我想添加一个字符,用户无法删除它,但他们仍然可以添加字母.

干杯,

附:这适用于iOS

解决方法 一个UITextFIEld有一个委托方法调用应该更改范围内的字符,这个方法基本上问,我应该添加还是删除下一个字符?从中你可以决定你想要什么.这是一些示例代码.

- (BOol)textFIEld:(UITextFIEld *)textFIEld shouldChangeCharactersInRange:(NSRange)range replacementString:(Nsstring *)string {    BOol shouldChangeCharacters = ( (textFIEld.text.length + string.length) > 1 );     return shouldChangeCharacters;}

此代码表示如果添加的新字符加上当前文本大于1,则可以进行更改,如果文本不大于1,则我们不会进行更改…

现在,假设某人可能会尝试粘贴您的角色,仍会调用此委托方法,但您必须执行一些 *** 作.

if (range.location == 0) {    Nsstring* firstCharacter = [string substringToIndex:1];    BOol firstCharacterIsDesiredCharacter = [firstCharacter isEqualToString:@"#"];    if ( !firstCharacterIsDesiredCharacter ) {        Nsstring* symbolWithText = [Nsstring stringWithFormat:@"#%@",text];        //  ******************** \        [textVIEw setText:symbolWithText];        return NO;        // or we Could do this        string = symbolWithText;        //  ******************** \    }}

这两种情况都在修改参数的值……有些人不喜欢这样做.这可能是一个糟糕的编程习惯..或者如果你要修改它们,你应该先做一些过程.

有了它,我们只需要运行这个代码,如果他们试图替换第一个字符,我替换哈希标记符号,第一个字符是从位置0和长度1的范围.所以如果范围等于0,然后我们运行我们的代码来修复它.此代码还考虑到它们可能会粘贴特殊符号.因此,如果UITextFIEld读取#work,并且他们试图复制“work”或“#work”,则需要考虑这两种情况,如果哈希标记是第一个字符,则完全跳过代码.

UITextField Reference

总结

以上是内存溢出为你收集整理的ios – 为UITextField添加一个永久字符全部内容,希望文章能够帮你解决ios – 为UITextField添加一个永久字符所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1054710.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存