Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/94.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c iOS中的基本拖放功能_Objective C_Ios_Drag And Drop - Fatal编程技术网

Objective c iOS中的基本拖放功能

Objective c iOS中的基本拖放功能,objective-c,ios,drag-and-drop,Objective C,Ios,Drag And Drop,我一直在考虑一个应用程序,它实现了一种拖放式的习惯用法,可能是从一个侧窗格或抽屉中,等等。我不明白的是如何保持对我放置的对象的引用。我是说;这将是很容易的,如果它只是下降的对象,然后让它单独,但我希望更多的操纵后,事实 我的大脑无法理解这样一个概念:凭空创建对象放在“画布”上,或者在画布上已经有了预设对象(我认为这些对象是有限的、笨重的和笨拙的),然后可以很容易地激活和操作,因为对它们的引用是在事实发生之前创建的(我为“引用”这个松散的术语道歉,我的意思是选择对象并识别或显示其独特属性) 一定有

我一直在考虑一个应用程序,它实现了一种拖放式的习惯用法,可能是从一个侧窗格或抽屉中,等等。我不明白的是如何保持对我放置的对象的引用。我是说;这将是很容易的,如果它只是下降的对象,然后让它单独,但我希望更多的操纵后,事实

我的大脑无法理解这样一个概念:凭空创建对象放在“画布”上,或者在画布上已经有了预设对象(我认为这些对象是有限的、笨重的和笨拙的),然后可以很容易地激活和操作,因为对它们的引用是在事实发生之前创建的(我为“引用”这个松散的术语道歉,我的意思是选择对象并识别或显示其独特属性)

一定有我遗漏的东西。所以,我想知道人们可能会如何在事实发生后使用界面实现拖放,并使用被拖放的对象进行操作,或者可能会使用示例代码或指向git或svn repo的链接(比如麻省理工学院的scratch或Xcode的interface builder如何工作)


为了清晰起见,多亏了DragKit,我知道如何进行拖放操作,但我不知道如何编辑拖放到“画布”上的对象的“属性”,我希望可以在画布上放置接近无限数量的对象,但在抽屉/侧视图中有一定数量的项目。

如果我理解你的话正确地说,您希望能够将对象拖到画布上,然后分别处理其属性。例如,您可以将方形视图拖到屏幕上,然后增加其大小或更改其颜色

为了做到这一点,我需要一个NSMutableArray或NSMutableSet来保存画布上的所有对象。然后,当任何交互发生时,如果对象是UIView或子类,您可以动态生成手势识别器。然后在手势识别器的目标中,您可以使用recognizer.view pro佩蒂

或者,您必须检查画布上当前正在操作的对象。这可以通过迭代数组并查看哪个对象与您正在触摸的对象相等来完成


有没有什么你正在尝试做但不起作用的事情?你有没有写过任何代码来尝试这样做?

我完全不知道我在做什么。DragKit的例子让我困惑……尽管你的想法是合理的,但它确实解决了问题的四分之一。+1