在文本字段之间更改焦点时保持键盘打开

时间:2016-03-02 18:02:18

标签: ios keyboard appcelerator appcelerator-titanium

在Appcelerator Titanium for iOS和Android中开发的应用程序中,我有一些文本字段,我想在用户点击返回按钮时进行导航。

在Android上,接下来设置返回键类型会自动处理。对于iOS,我必须添加事件侦听器,以便在单击返回按钮时触发对下一个字段的关注。

然而,当焦点切换发生时,键盘会向下动画,然后再向上动画。显示行为的代码示例:

var win = Ti.UI.createWindow({width: Ti.UI.FILL,height: Ti.UI.FILL,backgroundColor:'white'});
var input1 = Ti.UI.createTextField({
    width: 50, height:20, top: 50, hintText: 'input1',
    returnKeyType: Ti.UI.RETURNKEY_NEXT
});
input1.addEventListener("return",function(){input2.focus();});
win.add(input1);
var input2 = Ti.UI.createTextField({
    width: 50, height:20, top: 100, hintText: 'input2',
    returnKeyType: Ti.UI.RETURNKEY_NEXT
});
input2.addEventListener("return",function(){input1.focus();});
win.add(input2);
win.open();

根据之前给出的答案(以及之后删除),可以在vanilla iOS中保持键盘打开。那么 - 有没有办法使用这种技术在Appcelerator中切换iOS上的文本字段时保持键盘打开?谢谢!

2 个答案:

答案 0 :(得分:1)

您可以只使用import datetime class Field(object): def __init__(self): self.val = datetime.date.today() def __get__(self, instance=None, type=None): if instance is not None: return self.val return self class Container(object): value_1 = Field() value_2 = Field() c = Container() print c.value_1.isoformat() # 2016-03-03 print c.value_2.isoformat() # 2016-03-03 属性作为TextField

Mor详情{{3}}

答案 1 :(得分:1)

我在观看iOS的Titanium源之前花了几个小时(我不太会说Obj.C)。最后,我了解到我所知道的财产与我的预期完全相反。您需要做的就是将private: string name; Student Martin{"Martin",10}; Student Roxy{"Roxy",15}; 设置为suppressReturn

我还会提供我的便携式代码,以便在返回时前往下一个字段:

视图

false

风格

<View id='signupForm' class='formContainer'>
    <TextField id='emailField' name='email' class='loginField emailField' hintText='email' onReturn='selectNextField' onFocus='scrollToField' />
    <View class="hrLine"></View>
    <TextField id='passwordField' name='password' class='loginField' hintText='password' passwordMask='true' onReturn='selectNextField' onFocus='scrollToField' />
    <View class="hrLine"></View>
    <TextField id='fnameField' class='loginField' name='fname' hintText='first name' onReturn='selectNextField' onFocus='scrollToField' autocapitalization='Ti.UI.TEXT_AUTOCAPITALIZATION_WORDS'/>
    <View class="hrLine"></View>
    <TextField id='lnameField' class='loginField' name='lname' hintText='last name' returnKeyType='Ti.UI.RETURNKEY_GO' onReturn='submitSignup' onFocus='scrollToField' autocapitalization='Ti.UI.TEXT_AUTOCAPITALIZATION_WORDS'/>
</View>

控制器

'.loginField': {
    height: 40,
    width: '100%',
    opacity: 1,
    paddingLeft: 10,
    returnKeyType: Ti.UI.RETURNKEY_NEXT,
    // THE CRITICAL LINE
    suppressReturn: false
}