所以我有一个可以使用 touchesMoved 围绕其中心旋转的 UIImageView。
目前所有代码都在我的 ViewController 中,检测触摸、计算和跟踪当前旋转、图像本身以及图像的实际旋转。
但现在我想整理一下并妥善处理。我创建的这个“微调器”应该是一个独特的对象,可以多次实例化并放在我需要的任何地方。
所以我创建了新的 Spinner 类,它会跟踪自己的图像和角度属性...
但这应该是一个带有 UIImageView 属性的 NSObject,还是一个实际的 UIImageView 本身? 应该如何处理触摸,ViewController 是否需要发挥作用,或者对象能否以某种方式跟踪自己的触摸?
-
已编辑:仍然希望对我的这个老问题有一个明确的答案。
UIControl 子类我认为当我的微调器只不过是一个旋转并对触摸做出响应的抽象图像时,这有点有意义。
但是当它在位置、速度、需要与其他对象交互、多次启动(NSManagedObject 子类?)等方面变得更加复杂时,触摸和图像只是整体的一小部分。这就是为什么我认为 UIImage 只是对象的另一个属性。
举一个简单的例子,想一想盒子里有一堆球在弹跳。它们需要从侧面反弹、相互反弹、旋转、对重力使用react、在触摸时使用react - 并在两次发射之间持续存在。
那么从概念上讲,这应该如何在 OOP 中构建?
最佳答案
您应该使用 UIControl 作为父类,并添加一个 UIImageView 属性作为 subview 。 UIControl 具有您可以重写以跟踪触摸的方法。
关于objective-c - 从概念上讲,这应该如何在 OOP 中构建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8513283/