iOS明文密文切换时问题

1.项目中经常遇到密码需要明文,密文切换的样式,如下图:

login.png

2.切换过程中,会在10以下的系统会出现几个问题,1.出现空格,光标位置错乱,2.字体变化,3.密文时输入文字清空,下面分别列举出解决办法:

3.1 第一种问题解决办法,先保存文本,再清空输入,再赋值,就解决了空格问题


- (void)eyesBtnClick:(UIButton *)btn
{
    self.textField.secureTextEntry = btn.selected;
    btn.selected = !btn.selected;
    
    NSString *oriText = self.textField.text;
    self.textField.text = @"";
    self.textField.text = oriText;

}

3.2 字体变化问题,重新设置一下字体,保持和现在设置的一样


- (void)eyesBtnClick:(UIButton *)btn
{
    self.textField.secureTextEntry = btn.selected;
    btn.selected = !btn.selected;
    
    NSString *oriText = self.textField.text;
    self.textField.text = @"";
    self.textField.text = oriText;
    
    self.textField.font = [UIFont fontWithName:@"HelveticaNeue" size:16];
}

3.3 密文输入清空问题,在代理里面,加多一个判断能避免密文清空的问题,如下:


- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    //明文切换密文后避免被清空
    NSString *toBeString = [textField.text stringByReplacingCharactersInRange:range withString:string];
    if (textField == self.textField && textField.isSecureTextEntry) {
        textField.text = toBeString;
        return NO;
    }
    return YES;
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,446评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,250评论 4 61
  • 向崇陵噪暮鸦,寒凝大地发春华。——鲁迅 亭台埋于荒草 殿堂化为废墟 迷宫何在?皇宇难觅! 只畦稻田横竖 一片冬草迷...
    生活恋情阅读 227评论 1 1
  • 今天学习了C#程序设计 1.C#(C Sharp)是微软在C、C++、Java语言的基础上重新构造的语言 C#是一...
    孙世龙阅读 130评论 0 0
  • 那是那样的慢 可我并不在乎 轻轻地对着乌龟说 咱们作伴吧 好神奇 我看见了以前从没有看见过的东西 我知道他累了 我...
    言溪早历史纪录片爱好者阅读 155评论 1 0