我不知道处理这个问题的最佳方法是什么:
我在应用中有一些可拖动的按钮,可以移动到某些目标之上。如果按钮位于右侧目标的顶部,假设button1位于target1的顶部,则玩家/用户获得一个点。我认为处理这个问题的最好方法是使用“identifier”属性创建一个Target类,并使用“targetID”属性创建一个Draggable类。当Draggable对象被释放时,我通过比较它们的属性来检查它是否位于正确的Target对象之上。
这听起来很容易,但事实并非如此。我首先尝试将Draggable作为UIButton的子类。您可能已经知道,这不是一个好主意,因为当调用[UIButton buttonWithType:]时,UIButton会返回不同类的实例,例如。返回UIButtonTypeRoundedRect。我不能使用一个类别,因为我需要的是有一个额外的属性,据我所知,类别不能向类添加属性,只有方法。组合会使一切变得非常复杂,因为我必须“监听”Draggable控制器的按钮动作。不过,如果我没有更聪明的选择,我会选择这种替代方案。
我可能会监督一些非常明显的事情,或者我可能不知道一些绝对基本的东西。在那种情况下,抱歉!我的iOS知识非常基础。
答案 0 :(得分:2)
UIButton
是一种UIView
,其tag
属性可用于表达您想要的任何内容。这是一个NSInteger
,但这应该可用于你想要做的事情。