当前位置: 首页 > 面试题库 >

如何在iOS Swift的密码字段中将点更改为另一个字符

杨建章
2023-03-14
问题内容

我有一个文本字段,当密码隐藏时,我想将默认点字符替换为其他字符。有什么办法可以轻松做到这一点?


问题答案:

这里有2个选项:

  1. 使用没有安全输入选项的普通文本字段。用户输入字符时,将其保存到字符串变量,然后在文本字段中将其替换为您希望显示的字符而不是项目符号。

这是代码(将密码显示为$$$$):

var password: String = ""
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool
{
    password = password+string
    textField.text = textField.text+"$"
    println("\(password)")
    return false
}
  1. 在此处查看答案:

```
@interface SecureTextFieldWithCustomFont : UITextField
@property (nonatomic) BOOL secure;
@property (nonatomic, strong) NSString *actualText;
@end


@implementation SecureTextFieldWithCustomFont

-(void)awakeFromNib
{
[super awakeFromNib];

if (self.secureTextEntry)
{
    // Listen for changes.
    [self addTarget:self action:@selector(editingDidBegin) forControlEvents:UIControlEventEditingDidBegin];
    [self addTarget:self action:@selector(editingDidChange) forControlEvents:UIControlEventEditingChanged];
    [self addTarget:self action:@selector(editingDidFinish) forControlEvents:UIControlEventEditingDidEnd];
}

}

-(NSString*)text
{
if (self.editing || self.secure == NO)

else
{ return self.actualText; }

}

-(void)editingDidBegin
{
self.secureTextEntry = YES;
self.text = self.actualText;
}

-(void)editingDidChange

-(void)editingDidFinish
{
self.secureTextEntry = NO;
self.actualText = self.text;
self.text = [self dotPlaceholder];
}

-(NSString)dotPlaceholder
{
int index = 0;
NSMutableString
dots = @”“.mutableCopy;
while (index < self.text.length)
{ [dots appendString:@”•”]; index++; }
return dots;
}

@end
```



 类似资料:
  • 我想实现,让我们说温度单位转换器。我想使用AndroidMVVM和数据绑定来做到这一点,但我不知道如何。我有一个片段,它由三个编辑文本字段组成:摄氏度,华氏度,开尔文。更改其中之一后,其余部分应自动更新。在没有数据绑定的情况下,我将 TextWatcher 设置为每个字段,并在 onTextChanged 中执行所有验证和转换逻辑,并设置其他字段的值。在之前文本更改中,我删除了其他字段的侦听器,并

  • 问题内容: 您能否提供一个非常简单的SQL示例,说明如何创建一个“计数”或“订单”字段,该字段将自动递增,但在不同字段中进行每次更改后重新启动?在下表中,每次“进餐”(Meal)字段发生更改时,“订单”(Order)字段将从“ 1”重新开始。谢谢。 吃饭时间点餐 午餐10:30 午餐11:00引用2 午餐11:15 3 晚餐4:30 晚餐1晚餐4:45 晚餐2晚餐引用3 晚餐5:30引用4 问题答

  • 问题内容: 有什么方法可以更改显示在HTML的密码字段中的星号()或在某些浏览器中的项目符号()? 问题答案: 您不能在标准密码字段中更改密码屏蔽字符。您可以使用文本框来伪造它,但是由于缺乏从密码文本框中获得的保护,因此它导致了较弱的安全模型。附带说明一下,更改这样的项目的行为通常不是一个好主意,因为用户已经习惯了一种掩蔽形式,并且您将引入另一种掩蔽形式- 如果没有充分的理由这样做,我会d避免使用

  • 假设我有两个字段F1和f2。我想将F1更新为。我可以在Mongo中使用一个更新命令吗?

  • 编辑:这是对任何感兴趣的人的解决方案。我将Events模型中的Unicode方法更改为以下内容 (django V1.3,python 2.7) 标题令人困惑,我会尽我所能把它弄清楚。我有三个模型,分支、事件和更新: 当通过管理界面添加更新时,我希望相关的_事件字段显示事件模型的标题、分支和更新字段,以便于用户选择正确的相关_事件(而不仅仅是一长串标题)。 添加更新时,我希望如何在下拉或水平相关的

  • 问题内容: 我想问一下如何更改密码字段中的字符,而这正是我想用星号代替的点? 我正在使用Java Jframe 问题答案: PasswordTextField.setEchoChar(’*’);