【发布时间】:2017-12-03 18:15:41
【问题描述】:
我正在开发一个 iOS 应用程序,它允许用户在屏幕上拖放图像作为其功能之一(注意——不是 iOS 11 应用程序之间的拖动)。每个图像是一个自定义模型Photo,然后一个Page 模型对象有一个Photos 数组。
我想拥有一个包含所有Photo 对象的PageEditor 视图,但我不确定如何最好地跟踪每个对象的x/y 位置。因为Photo 对象是一个结构,而不是一个视图,所以我需要让每个Photo 对象也有一个可拖动的自定义PhotoView。
所以本质上,PageEditor 有一个Page,它有Photos。但是一个PageEditor也有一个PhotoViews的数组,那么哪个模型/视图应该知道它的定位?
我很欣赏这是一个相当抽象的问题。
【问题讨论】:
-
抱歉,这就是您投反对票的原因。 更清楚。 也许尝试 (a) 不要含糊不清,并且 (b) 给我们一些足够具体的东西,我们可以重现。这是我从您的模糊问题中读到的内容-您如何跟踪存储在
UIImageViews(但不一定在同一个数组中)中的“照片”数组或UIImages的帧来源,因为您有一个称为PageEditor的东西.我不知道我有多接近 - 但如果没有一些代码,我希望你能看到你的问题是多么“抽象”和!祝你好运。 -
@dfd 我不确定如何更清楚。我有一个依赖于模型对象的 ViewController,而该模型对象又具有一组模型对象。你不能移动模型。您只能移动视图。那么,每个视图的底层模型是否应该知道它的位置呢?或者应该只有视图知道它的 x / y 坐标?
-
你能在你的问题中发布一些代码吗?视图控制器需要知道任何子视图坐标的原因是什么?你想完成什么?在其父视图中移动子视图是(1)可以在 iOS 中完成一次一个 - 你不能一次拖动两个视图 - 并且控制器已经与手势正确连接知道正在移动哪个视图。在代码中,您知道手势的视图并使用它的标记值,可以很容易地识别。但同样,没有代码很难提供帮助。
标签: swift model-view-controller drag-and-drop