Pau*_*len 26 uitextfield ios swift
我有一个UITextField
用作密码字段的.它默认secureTextEntry
设置为true
.我还要UIButton
切换密码的显示/隐藏.
当我将文本字段从secureTextEntry
set 更改为true
to时false
,字体变得怪异.似乎它成为Times New Roman或类似的.
我已经尝试将字体重新设置为大小为14的系统,但它没有改变任何东西.
发生了什么的例子(初始secureTextEntry
设置为true
):
我的代码:
@IBAction func showHidePwd(sender: AnyObject) {
textfieldPassword.secureTextEntry = !textfieldPassword.secureTextEntry
// Workaround for dot+whitespace problem
if !textfieldPassword.secureTextEntry {
let tempString = textfieldPassword.text
textfieldPassword.text = nil
textfieldPassword.text = tempString
}
textfieldPassword.font = UIFont.systemFontOfSize(14)
if textfieldPassword.secureTextEntry {
showHideButton.setImage(UIImage(named: "EyeClosed"), forState: .Normal)
} else {
showHideButton.setImage(UIImage(named: "EyeOpen"), forState: .Normal)
}
textfieldPassword.becomeFirstResponder()
}
Run Code Online (Sandbox Code Playgroud)
小智 33
在首次将字体设置为nil之前,更改UITextField的字体不会生效.试试以下.
textfieldPassword.font = nil
textfieldPassword.font = UIFont.systemFontOfSize(14.0)
Run Code Online (Sandbox Code Playgroud)
小智 14
我之前遇到过这个错误.不知道为什么会这样.我发现如果您关闭键盘然后切换secureTextEntry,您将不会丢失字体样式.
textField.resignFirstResponder()
textField.secureTextEntry = !self.textField.secureTextEntry
textField.becomeFirstResponder()
Run Code Online (Sandbox Code Playgroud)
事实上,为了解决这个问题,我使用了前两个响应的混合.
在我的特定情况下,我的视图只包含两个字段.所以我 :
使用这种方法,我没有显示/隐藏键盘的问题,它完美地工作.
问候.塞巴斯蒂安.
BOOL loginTextFieldHadFocus = self.loginTextField.isFirstResponder;
BOOL passwordTextFieldHadFocus = self.passwordTextField.isFirstResponder;
if (self.passwordTextField.isSecureTextEntry)
{
self.passwordTextField.secureTextEntry = NO;
self.passwordTextField.font = nil;
self.passwordTextField.font = [UIFont systemFontOfSize:19.0 weight:UIFontWeightRegular];
[self.passwordTextField resignFirstResponder];
}
else
{
self.passwordTextField.secureTextEntry = YES;
[self.passwordTextField resignFirstResponder];
}
if (loginTextFieldHadFocus)
{
[self.loginTextField becomeFirstResponder];
}
else if (passwordTextFieldHadFocus)
{
[self.passwordTextField becomeFirstResponder];
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7129 次 |
最近记录: |