iOS版的TextInput displayAsPassword不displayAsPassword

2019-07-30 07:56发布

我同时建立一个应用程序在Android,iOS推出,和桌面。 该应用程序包括连接到vBulletin系统的登录和我碰到一个显著的问题(客户端坚称必须是固定的)。 在iOS上,如果你是在有displayAsPassword设置为true一个TextInput打字,它会显示纯文本打字时。 一旦你点击了将TextInput的,它显示正常。

这里是我使用Flex中的代码

<s:TextInput id="inputField" width="100%" styleName="loginFields" text="Password" focusAlpha="0" focusEnabled="false" autoCorrect="false" />

我再附上焦点事件来运行这些功能的输入字段。

private var defaultText:String = 'Password';

private var passwordDisplay:Boolean = true;



private function focusIn (e:FocusEvent = null):void {
     if (this.inputField.text == this.defaultText){
            this.inputField.text = '';
      }
     if (this.passwordDisplay){
               this.inputField.displayAsPassword = true;
     }
}

private function focusOut (e:FocusEvent = null):void {
     if (this.inputField.text == ''){
               this.inputField.text = this.defaultText;
               if (this.passwordDisplay){
                      this.inputField.displayAsPassword = false;
             }
      }
}

有文件中的很多代码,但是这是唯一的相关性。 基本上,对重点,它会检​​查文本==默认的文本。 如果这样做,清空场。 然后,它设置displayAsPassword为true。 在对焦时,它会检查该字段为空。 如果是,它重置领域拖欠和displayAsPassword为false。 我知道默认的文本是内置的,但我需要比它提供了更多的功能。

现在,这个问题(密码显示为明文,而重点是场)存在于iOS的唯一的 ,并没有在模拟器中进行。 它完美地与Android和桌面预期。 我已经试过手动重新创建的功能(可能的,但并不理想,因为caretIndex不是一个TextInput属性),我试图隐藏TextInput和覆盖的领域“•”匹配输入(不可能的长度,因为是的TextInput StageText的)。 我不知道还有什么我可以试试这里。 有任何想法吗?

在此先感谢这里的任何帮助。

眼镜:

  • 建立并使用FlashBuilder 4.6编译(但我也有4.5.1提供给我)
  • 使用空气3.1
  • 编译于OS X狮子
  • 在测试了两个第一和第三代的iPad
  • 使用Flex SDK 4.6.0
文章来源: iOS TextInput displayAsPassword doesn't displayAsPassword