文本字段键盘工具栏按钮停止响应一旦文本字段失去焦点并重新聚焦,但仅在包含模块时

时间:2014-01-13 00:14:02

标签: ios titanium appcelerator-mobile titanium-modules

我们已经添加了一个iOS模块,其中包含一个库(.a)到一个简单的键盘和textfield钛项目。

该库通过UIWebView使用了大量的javascript,并通过框架与应用程序进行通信。

在iOS项目中使用它时,库非常稳定可靠,但在与钛模块集成时会导致问题。

以下是问题代码的简单版本

var module = require ('com.module.test');

var win1 = Titanium.UI.createWindow({  
    backgroundColor:'#fff'
});

var cancelKb = Titanium.UI.createButton({
    title : "Cancel",
    style : Ti.UI.iPhone.SystemButtonStyle.BORDERED
});
cancelKb.addEventListener('click',function(e){tf.backgroundColor='#faa'; tf.blur(); });

var doneKb = Titanium.UI.createButton({
    title : "Done",
    style : Ti.UI.iPhone.SystemButtonStyle.DONE
});
doneKb.addEventListener('click',function(e){tf.backgroundColor='#aaf'; tf.blur(); });

var tf = Ti.UI.createTextField({
    hintText : "Enter code",
    top : 30,
    height : 44,
    left : 5,
    right : 5,
    paddingLeft : 20,
    clearButtonMode : Ti.UI.INPUT_BUTTONMODE_ALWAYS,
    autocorrect : false,
    visible : true,
    zIndex : 99,
    returnKeyType : Ti.UI.RETURNKEY_DONE,
    keyboardType : Ti.UI.KEYBOARD_PHONE_PAD //UI.KEYBOARD_NUMBERS_PUNCTUATION,
});
var flexspace = Titanium.UI.createButton({
    systemButton : Titanium.UI.iPhone.SystemButton.FLEXIBLE_SPACE
});

tf.keyboardToolbar = [cancelKb, flexspace, doneKb];
win1.add(tf);
win1.open();
tf.focus();

如果以下var module = require ('com.module.test'); 不包含键盘工具栏按钮多次工作正常。

包括此模块将一直有效,直到键盘第一次被解除,然后当键盘重新聚焦时,“取消”和“完成”按钮将不再响应。

0 个答案:

没有答案