代码之家  ›  专栏  ›  技术社区  ›  Bdebeez

修复方向更新的延迟

  •  1
  • Bdebeez  · 技术社区  · 15 年前

    我们有一个iPhone应用程序,它可以在纵向和横向之间进行大量的旋转。所有的事情基本上都正常工作,但似乎并没有足够快地适应方向的变化(有时根本没有)。有没有一种方法可以告诉默认的旋转处理,我们需要更快的更新?我不想编写自定义的加速度计代码,但是有了加速度计,我知道我可以指定接收更新的速度。

    1 回复  |  直到 15 年前
        1
  •  1
  •   Rudiger    15 年前

    不确定您是如何收到有关方向更改的通知的,但我正在使用-(void)方向更改:(nsnotification*)通知。这至少在模拟器中的更新速度比每秒两次快,这对我来说已经足够快了。

    啊,是的,我对此有意见。在苹果或其Doco(我不记得了)的示例应用程序中,它使用:

    • (void)方向更改:(nsnotification*)通知 { [自我执行选择器:@selector(updatelandscapeview),具有object:nil afterdelay:0]; }

    比你建立一个方法

    • (空)更新景观视图{ 如果(ui设备定向景观(设备定向)&!显示景观视图) { [Self PresentModalView Controller:ScheduleMonth动画:是]; IsShowingLandscapeView=是; }否则,如果(deviceOrientation==uideviceOrientationPortrait&IsShowingLandscapeView) { [自我DismissModalView控制器动画:是]; IsShowingLandscapeView=否; } }

    我将我的横向定位放在一个单独的类中,该类在UpdateLandscapeView中被调用

    如果你有一个复杂的风景视图,你可以从一个线程加载它,如果它返回到纵向,停止线程并忽略视图。如果用户很快就无法获得风景视图,但这意味着他们不会出现故障,也不会停留在风景或肖像视图上。