在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上的文本字段时保持键盘打开?谢谢!
答案 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
}