我正在使用Titanium Alloy来构建iOS应用。我遇到了一个特别令人沮丧的问题,我已经坚持了很长时间。
用户登录后,我的目标是使登录窗口动画化(翻转)到仪表板窗口。除此错误外,此方法效果很好。在“播放器”仪表板栏向下跳转到正确位置之前,“登录”导航顶部栏似乎会显示一秒钟。
直到翻转动画完成为止,看起来都是这样:
动画完成后,它跳转到:
仪表板页面是一个类似于此的TabGroup,初始选项卡的标题为“ Player”:
<TabGroup>
<Tab icon="player_icon.png">
<Window id="playerTab" title="Player"/>
</Tab>
</TabGroup>
登录控制器是一个带有“登录”窗口和“注册”窗口的NavigationWindow。
成功提交登录表单后,我将创建索引控制器(仪表板):
Alloy.createController('index', { animate: true, loginSuccess: true });
其中的初始化代码如下所示:
if (!AppData.isLoggedIn() && !args['loginSuccess']) {
// Splash contains the register/login forms
Alloy.createController('splash');
} else {
// Check if the user is logging in or resuming previous state
if(args['animate']) {
$.index.open({ transition: Ti.UI.iPhone.AnimationStyle.FLIP_FROM_LEFT });
} else {
$.index.open();
}
}
有谁知道为什么会发生这个错误?感谢您的帮助!
谢谢!
最佳答案
弄清楚了!事实证明,在动画完成之前,翻转动画不考虑状态栏的高度,因此我为TabGroup设置了初始的上边距20,并在动画完成后删除了边距。
现在很棒!