0

您好,感谢您查看我的问题。

我有一个仅支持横向的应用程序(左键或右键)。它以横向左侧启动。太好了 - 它以正确的方向启动,甚至可以在左右横向之间正确地重新定向视图(我已经自定义了支持的方向方法)。

继续我的问题:我启动应用程序并添加一个视图。我开始一个动画,然后将我的第一个视图与第二个(以及第二个与第三个等)交换。

我的问题是动画不一致。

如果我指定 kCATransitionFromLeft,我的过渡会从顶部或底部滑入(取决于设备的方向)。如果我从 kCATransitionFromRight 指定,我会得到相同的行为。

如果我指定 kCATransitionFromBottom 或 kCATransitionFromTop - 那么过渡会正确显示,新视图从侧面滑入,但是,它来自哪一侧仍然取决于设备的方向。

我希望我的视图总是从右向左滑入。显然,我可以使用 kCATransitionFromBottom 或 kCATransitionFromTop 编写 if/then 来实现此目的,但我的想法是必须有一种更简单的方法。

那么,有没有一种简单的方法可以根据方向一致地生成动画?为什么 kCATransitionFromBottom 不总是来自底部?我什至如何开始修改这种行为?

感谢您的任何见解。

4

1 回答 1

1

我在我正在做的一个项目上做同样的事情,动画是从滑动开始的。唯一的区别是我正在交换 UIImages。

如果您可以发布一些代码会有所帮助,我现在唯一记得的是让您检查父视图和交换视图是否正确支持横向视图:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{
    if (interfaceOrientation == UIInterfaceOrientationLandscapeRight ||
        interfaceOrientation == UIInterfaceOrientationLandscapeLeft) {
        return YES;
    }
    return NO;
}

希望这会有所帮助!

于 2010-07-22T20:47:30.387 回答