可以在Swift中观察方法还是仅观察属性?

时间:2018-12-17 02:45:13

标签: ios swift uitouch uiresponder touchesended

我有一个应用程序,试图添加一种导览,将用户从一项功能引导到另一项。我要做的是让用户与各种界面元素进行交互,当他们选择正确的界面元素时,导览移至下一步。我真的很难找到一种方法来做到这一点。我一直尝试通过两种方法来实现它,但是我不能完全弄清楚如何实现它,也不能确定哪个会更好。我一直在研究的两个选项是:

  1. 创建UIView的子类,该子类将以某种方式将所有用户交互传递到直接位于其后面的视图,但是将其记录下来,以便在采取正确的操作时可以触发下一步。 / p>

  2. 找到一种将观察者添加到UIResponder(通常是UIButton,但偶尔是UITableViewCell或其他类型)的方法,该方法可以让程序知道何时有触摸结束,这将使程序可以检查用户是否执行了正确的任务。

选项1仅是一个按钮就足够简单了,但是当它是UITableViewUIPickerView时似乎更复杂。

如果我只能找到一种将观察者添加到方法(最可能是touchesEnded:with:)的方法,而我可以将它们添加到属性中的方式相同,那么选项2是我所追求的。这样,我可以查看何时进行互动并检查互动是否正确。当然,实际上,我可以硬编码进入应该触发它的每个方法的下一个步骤(如果它满足参加导览的条件),但这似乎是一种不好的做法。

有人有什么建议吗?有没有一种“适当”的方式来做这些事情之一,或者我应该考虑的第三种选择?

0 个答案:

没有答案