UIButton类/子类拖放iPad

时间:2011-07-31 08:08:58

标签: objective-c ipad drag-and-drop

我不知道处理这个问题的最佳方法是什么:

我在应用中有一些可拖动的按钮,可以移动到某些目标之上。如果按钮位于右侧目标的顶部,假设button1位于target1的顶部,则玩家/用户获得一个点。我认为处理这个问题的最好方法是使用“identifier”属性创建一个Target类,并使用“targetID”属性创建一个Draggable类。当Draggable对象被释放时,我通过比较它们的属性来检查它是否位于正确的Target对象之上。

这听起来很容易,但事实并非如此。我首先尝试将Draggable作为UIButton的子类。您可能已经知道,这不是一个好主意,因为当调用[UIButton buttonWithType:]时,UIButton会返回不同类的实例,例如。返回UIButtonTypeRoundedRect。我不能使用一个类别,因为我需要的是有一个额外的属性,据我所知,类别不能向类添加属性,只有方法。组合会使一切变得非常复杂,因为我必须“监听”Draggable控制器的按钮动作。不过,如果我没有更聪明的选择,我会选择这种替代方案。

我可能会监督一些非常明显的事情,或者我可能不知道一些绝对基本的东西。在那种情况下,抱歉!我的iOS知识非常基础。

1 个答案:

答案 0 :(得分:2)

UIButton是一种UIView,其tag属性可用于表达您想要的任何内容。这是一个NSInteger,但这应该可用于你想要做的事情。