0

我在横向模式下开发的 iphone 应用程序非常糟糕。我把它放在纵向进行比较,它似乎在那个方向上运行得更顺畅。我没有做我认为是过程密集型的事情:地图视图、一些按钮、一些标签和一些石英绘图,但一些基本的石英动画严重减慢了非常糟糕的速度。

有谁知道横向模式与纵向相比是否非常不利,和/或如果是这样,是否有更好的方法来创建横向应用程序?我只是使用一个旋转 90 度的根旋转视图并将我的所有子视图附加到它。

谢谢。

4

3 回答 3

2

在渲染性能方面,横向和纵向应该没有真正的区别。您是否使用变换将主视图旋转 90 度?我相信,从 iPhone OS 2.1 开始,您不再需要手动对主视图应用转换以使其以横向启动。为了强制横向,我所要做的就是将此委托方法放在我的应用程序委托中:

- (void)application:(UIApplication *)application willChangeStatusBarOrientation:(UIInterfaceOrientation)newStatusBarOrientation duration:(NSTimeInterval)duration;
{
    // This prevents the view from autorotating to portrait in the simulator
    if ((newStatusBarOrientation == UIInterfaceOrientationPortrait) || (newStatusBarOrientation == UIInterfaceOrientationPortraitUpsideDown))
        [application setStatusBarOrientation:UIInterfaceOrientationLandscapeRight animated:NO];
}

以及我的根视图控制器中的以下内容:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{
    return ( (interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (interfaceOrientation == UIInterfaceOrientationLandscapeRight));
}
于 2010-01-14T13:57:16.340 回答
1

也许你做了一些导致非整数像素位置的划分(比如 0.76 )。当我有非整数像素位置时,我遇到了一些性能问题。(虽然我不完全确定这些是连接的。但也许它可以帮助你)

于 2010-01-14T13:20:18.693 回答
0

谢谢大家的建议和帮助。我尝试了布拉德关于设置视图控制器自动旋转设置的建议,效果非常好。我认为这是导致经济放缓的一个巨大因素。

于 2010-01-15T00:58:25.453 回答