2

チタン iPhone アプリケーションでパスワード フィールドを使用しています。ユーザーが「?」を押した場合に、入力したパスワードを表示する必要があります。リリース後のボタンとマスクパスワードフィールド「?」ボタン。これらのコードを使用しました

var password = Ti.UI.createTextField
({
   font : {fontSize : 15, fontType: 'HaveticaL TStd', fontWeight: 'roman'},
   hintText: "***************",
   top : 54,
   left : 107,
   height : 24,
   width : 153,
   passwordMask : true,
   color : "black",
   returnKeyType : Titanium.UI.RETURNKEY_DONE,
   zIndex : 5
});

パスワードを表示するために touchstart および touchend イベントを使用しました。つまり、touchstart イベントが発生したときに passwordMask を false に設定し、touchend イベントが発生したときに true にリセットします。

passwordHintImg.addEventListener('touchstart',function(e){
    passwordTxt.passwordMask = false;
});
passwordHintImg.addEventListener('touchend',function(e){
    passwordTxt.passwordMask = true;
});

パスワード フィールドがぼやけている場合はうまく機能しますが、パスワード フィールドがフォーカスされている場合は「?」を押します。ボタン パスワードが表示され、表示されたパスワードを非表示にできません

4

1 に答える 1

2

最後に、出力を得ました

touchstart イベントが発生したときに passwordShow Label visible を true に変更し、パスワード フィールドの表示を無効に設定し、touchend イベントが発生したときにパスワード フィールドの表示を true にリセットし、passwordShow ラベルの表示を false に設定しました。

var passwordShow = Ti.UI.createLabel({
    font : {fontSize : 15, fontType: 'HaveticaL TStd', fontWeight: 'roman'},
    top : 54,
    left : 107,
    height : 24,
    width : 153,
    visible : false,
    backgroundColor : 'transparent',
    color : "black",
    zIndex : 15
});
passwordShowVw.addEventListener('touchstart',function(e){
    if(passwordTxt.value.length > 0)
    {
        passwordTxt.visible = false;
        passwordShow.visible = true;
        passwordShow.text = passwordTxt.value;  
    }
});
passwordShowVw.addEventListener('touchend',function(e){
    if(passwordTxt.value.length > 0)
    {
         passwordShow.visible = false;
         passwordTxt.visible = true;
         passwordShow.text = '';
    }
});
于 2013-05-14T10:42:31.273 に答える