Appcelerator 键盘工具栏不隐藏在模拟器中
Appcelerator Keyboard Toolbar Doesn't hide in the simulator
我正在使用 Appcelerator 并且键盘工具栏没有隐藏在模拟器中,如果我在屏幕底部有一个按钮,它会导致各种问题,它只是永久停留在底部。
这是该问题的视频。
https://www.youtube.com/watch?v=RypzFJwSbtw&feature=youtu.be
这是我的代码。
<TextField class="setupPin" id="pinOne" keyboardType="Ti.UI.KEYBOARD_TYPE_NUMBER_PAD" passwordMask="true" maxLength="4">
<KeyboardToolbar>
<Toolbar>
<Items>
<Button onClick="closeToolbar">button 1</Button>
<FlexSpace/>
<Button onClick="submitToolbar">button 2</Button>
</Items>
</Toolbar>
</KeyboardToolbar>
</TextField>
有人可以提出让我发疯的修复方法吗?
谢谢
尝试这样的操作来隐藏工具栏按钮中的 toobar/keyboard。如果这对您不起作用,请添加评论,我会进一步调查。
https://gist.github.com/brentonhouse/2ffd923d41632d29bbd45c5516751d76
<Alloy>
<TextField id="myTextField" width="Ti.UI.FILL" textAlign="Titanium.UI.TEXT_ALIGNMENT_RIGHT" keyboardType="Ti.UI.KEYBOARD_TYPE_DECIMAL_PAD" verticalAlign="Ti.UI.TEXT_VERTICAL_ALIGNMENT_CENTER" onFocus="showKeyboard">
<KeyboardToolbar>
<Toolbar>
<Items>
<Button systemButton="FLEXIBLE_SPACE" />
<Button systemButton="DONE" onClick="hideKeyboard" textField="myTextField" />
</Items>
</Toolbar>
</KeyboardToolbar>
</TextField>
</Alloy>
var hideKeyboard = function(e) {
var parent_name = e.source.textField;
if(parent_name) {
var parent = $[parent_name];
parent.blur();
parent.keyboardToolbar.visible = false;
}
};
var showKeyboard = function(e) {
e.source.keyboardToolbar.visible = true;
};
我希望你已经在 按钮 1 上实现了功能点击模糊 像这样的 pinOne 字段:
function closeToolbar() {
$.pinOne.blur();
}
假设上面的实现,现在这不是你的代码的问题,也不是模拟器的问题,但是 ios 模拟器中还有另一个功能,你可以切换模拟器键盘。
模拟器中有一个切换键盘的选项。看到这个 KEYBOARD SCREENSHOT.
在关注键盘字段后尝试切换键盘,并确保取消选中 连接硬件键盘 选项。
如果Connect Hardware Keyboard没有勾选,那么你就不能使用物理键盘输入,所以要使用物理键盘同时隐藏工具栏,玩切换通过选中 连接硬件键盘 来切换软件键盘。
我正在使用 Appcelerator 并且键盘工具栏没有隐藏在模拟器中,如果我在屏幕底部有一个按钮,它会导致各种问题,它只是永久停留在底部。
这是该问题的视频。 https://www.youtube.com/watch?v=RypzFJwSbtw&feature=youtu.be
这是我的代码。
<TextField class="setupPin" id="pinOne" keyboardType="Ti.UI.KEYBOARD_TYPE_NUMBER_PAD" passwordMask="true" maxLength="4">
<KeyboardToolbar>
<Toolbar>
<Items>
<Button onClick="closeToolbar">button 1</Button>
<FlexSpace/>
<Button onClick="submitToolbar">button 2</Button>
</Items>
</Toolbar>
</KeyboardToolbar>
</TextField>
有人可以提出让我发疯的修复方法吗?
谢谢
尝试这样的操作来隐藏工具栏按钮中的 toobar/keyboard。如果这对您不起作用,请添加评论,我会进一步调查。
https://gist.github.com/brentonhouse/2ffd923d41632d29bbd45c5516751d76
<Alloy>
<TextField id="myTextField" width="Ti.UI.FILL" textAlign="Titanium.UI.TEXT_ALIGNMENT_RIGHT" keyboardType="Ti.UI.KEYBOARD_TYPE_DECIMAL_PAD" verticalAlign="Ti.UI.TEXT_VERTICAL_ALIGNMENT_CENTER" onFocus="showKeyboard">
<KeyboardToolbar>
<Toolbar>
<Items>
<Button systemButton="FLEXIBLE_SPACE" />
<Button systemButton="DONE" onClick="hideKeyboard" textField="myTextField" />
</Items>
</Toolbar>
</KeyboardToolbar>
</TextField>
</Alloy>
var hideKeyboard = function(e) {
var parent_name = e.source.textField;
if(parent_name) {
var parent = $[parent_name];
parent.blur();
parent.keyboardToolbar.visible = false;
}
};
var showKeyboard = function(e) {
e.source.keyboardToolbar.visible = true;
};
我希望你已经在 按钮 1 上实现了功能点击模糊 像这样的 pinOne 字段:
function closeToolbar() {
$.pinOne.blur();
}
假设上面的实现,现在这不是你的代码的问题,也不是模拟器的问题,但是 ios 模拟器中还有另一个功能,你可以切换模拟器键盘。
模拟器中有一个切换键盘的选项。看到这个 KEYBOARD SCREENSHOT.
在关注键盘字段后尝试切换键盘,并确保取消选中 连接硬件键盘 选项。
如果Connect Hardware Keyboard没有勾选,那么你就不能使用物理键盘输入,所以要使用物理键盘同时隐藏工具栏,玩切换通过选中 连接硬件键盘 来切换软件键盘。