使用自定义字体时,带有secureTextEntry的UITextField中的项目符号大小会随着焦点切换而改变大小

Mic*_*rne 20 fonts objective-c uitextfield ios

我有一个UITextField使用Museo Sans Rounded 300字体.对于普通的UITextFields来说,一切都运行正常,但是当你设置的时候secureTextEntry = YES,随着UITextField获得并失去焦点(即成为,并放弃,成为第一个响应者),子弹的大小就会出现这种令人不安的变化.

UITextField有焦点时,子弹似乎使用自定义字体,但一旦失去焦点,它们就会变成这些更大(标准尺寸)的子弹.

Luk*_*uke 5

因此,我发现解决这个问题的唯一方法是使用textFieldDidBeginEditingtextFieldDidEndEditing委托方法,跟踪文本字段中输入的内容,用子弹掩码替换它,然后禁用secureTextEntry.因此,当他们离开战场时,他们实际上只是看到正确数量的子弹,而不是他们的安全文本.这是hacky和凌乱,但它也会为我做,也许对你而言.

  • 我在UITextField上创建了类别来解决这个问题:github.com/elegion/ELFixSecureTextFieldFont(根据你的回答) (3认同)