我创建了一个包含以下属性的文本字段:
keyboardType: Ti.UI.KEYBOARD_DECIMAL_PAD
returnKeyType: Ti.UI.RETURNKEY_DONE
我在iphone设备上测试了这个。出现小数点,但没有完成按钮。
我也试过其他按钮类型,没有成功。似乎无法为returnKeyType
设置KEYBOARD_DECIMAL_PAD
。
当我将键盘类型更改为KEYBORD_DEFAULT
或KEYBOARD_NUMBERS_PUNCTUATION
时,它可以正常工作。
最后一个选项(KEYBOARD_NUMBERS_PUNCTUATION
)是我可以使用的替代方案,但有人可以告诉我为什么它不使用KEYBOARD_DECIMAL_PAD
?
感谢。
答案 0 :(得分:6)
KEYBOARD_DECIMAL_PAD
没有提供done
按钮。您必须在TextField
上添加一个KeyboardToolbar才能添加一个关闭键盘的按钮,如下所示:
<TextField id="textfield">
<KeyboardToolbar platform="ios">
<Toolbar>
<Items>
<Button title="Done" onClick="hideKeyboard" />
</Items>
</Toolbar>
</KeyboardToolbar>
</TextField>
你的.js中的
function hideKeyboard(e){
$.textfield.blur()
}
答案 1 :(得分:1)
在存档的答案中提供 这个问题只是一个解决方法。 这是为软键盘按钮工具栏添加一个完成按钮 https://archive.appcelerator.com/question/123421/done-button-on-numeric-keypad-can-this-be-done-in-appcelerator
简单地回答:
var doneButton = Ti.UI.createButton({ systemButton: Ti.UI.iPhone.SystemButton.DONE });
$.creditNum_txt.keyboardToolbar = [doneButton];
$.creditNum_txt.addEventListener('focus', function(e) {
$.creditNum_txt.keyboardToolbar = [doneButton];
doneButton.activeFld = $.creditNum_txt;
});
doneButton.addEventListener('click', function(e) {
e.source.activeFld.blur();
});