【问题标题】:Is it possible to have multiple touch gesture combinations unlock a UIViewController?是否可以让多个触摸手势组合解锁 UIViewController?
【发布时间】:2014-02-25 12:47:57
【问题描述】:

我想创建游戏的隐藏部分,通过在游戏屏幕上进行一系列触摸和滑动来触发该部分。有点像旧的任天堂风格解锁,但使用 iPhone 和 iPad。

我想要一个这样的模式来解锁秘密关卡。向下滑动,向下滑动,向上滑动,向下滑动,向右滑动,向左滑动,两指长按。这样的事情是否可能,如果是这样,我将如何去做?谢谢。

【问题讨论】:

  • 你有没有试过的代码?
  • 通常我会发布代码,但我是 Objective-C 的新手,所以我不知道从哪里开始编写代码,因为我什至不确定这是否可行。

标签: ios cocoa-touch gesture


【解决方案1】:

您可以注册几个不同的手势识别器,然后,当它们由用户的操作触发时,跟踪序列,如果/当它与您的“秘密”模式匹配时,调用隐藏部分的视图控制器。

要跟踪滑动/触摸序列(假设序列始终相同),只需有一个实例变量来保存下一个预期事件。例如最初,您期待的是 SWIPE-DOWN。

当您收到一个事件时,如果它是预期的事件,则前进到下一个事件,例如 SWIPE-UP。如果错误,则将预期事件重置为其初始状态。

如果您以正确的顺序获得所有事件,那么您将解锁隐藏视图。

【讨论】:

  • 所以在 Storyboards 中,我会将所有手势识别器放入我的视图控制器中吗?我将如何确保捕获正确的订单?
  • 实现此目的的一种方法是创建一个具有正确顺序的数组,以及一个用于捕获点击次数的实例变量,然后在手势识别器中将触摸次数与数组。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多