代码之家  ›  专栏  ›  技术社区  ›  Joel Hooks

控制iPhone应用程序的灵敏度和旋转角度

  •  0
  • Joel Hooks  · 技术社区  · 15 年前

    我有一个在横向模式和纵向模式之间旋转的应用程序,效果很好。然而,它会变得非常紧张,并希望在设备最轻微的运动时旋转45度。有没有一种方法来控制旋转的灵敏度,或者防止它旋转,直到它击中某些目标(90,180,0),而忽略中间的?

    1 回复  |  直到 15 年前
        1
  •  1
  •   Nathaniel Martin    15 年前

    您可能可以将计数器保留在shouldAutoToInterfaceOrientation:方法中,以便它在实际切换之前需要触发几次。有点像电子设备中的“去缓冲”电路。

    (旁白:在电子学中,如果你每次按下一个物理按钮都会触发一些动作,那么你通常必须将其松开。这是因为,因为按钮是一个物理对象,当用户点击它时,它不会进行完美的接触。通常在接触时会有多个短脉冲。所以微处理器保持计数,当开关被按下10毫秒或其他时间后,它实际上会触发。)

    所以:

    -(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{
        counter++: //ivar
        if (counter > 2) {
            counter=0;
            return YES;
        } else {
            return NO;
        }
    }