【问题标题】:What's the best way to do this (iPhone SDK UI question)执行此操作的最佳方法是什么(iPhone SDK UI 问题)
【发布时间】:2010-10-28 22:40:13
【问题描述】:

这是我需要做的:

我将有一个带有多个对象的工具栏(为此,我们将它们称为 A、B、C、D),我希望能够让用户单击并拖动它们并能够捕捉它们到一个网格并相互连接。

听起来很简单,对吧?那么这是我的问题:有些对象的大小不同,所以 A 可能是 1x1,B 可能是 1x3,C 可能是 3x4,等等。

那么我该怎么做呢?我正在考虑将每个元素作为一个单独的 UIImageView(或 UIView,尚未决定)可以拖动,然后获取它的位置并查看它旁边的图像。

另一件事是我必须能够将这些位置导出到 xml 或 json(还不确定,可能是 xml)

【问题讨论】:

    标签: iphone uiview uiimageview


    【解决方案1】:

    听起来您需要一个带有曲面细分的 UIView 子类或某种单位为 1x1 的底层网格坐标系。 'tiles' 可以是 UIView 的子类,具有 UIImage 和网格位置信息。如果相邻的瓦片按照定义是连接的,那么您将不需要有关连接的其他状态信息。写出来就像写出起源一样容易。

    我正在研究类似的东西,但使用的是单一尺寸的瓷砖。这很有趣 - 尤其是插入逻辑:将一个图块放置在另外两个图块之间,并弄清楚要移动什么以腾出空间。

    【讨论】:

    • 所以我必须为我想要的每个图块做一个 UIView“图块”?
    • 在我的例子中,所有的 'tiles' 都是 Tile 的实例。不过,为了移动它们,我有一个容器 UIView,它处理移动的逻辑以及 touchesBegan:、touchesMoved: 和 touchesEnded: 的处理。我认为你可以做类似的事情 - 除了我的瓷砖的所有变化都是“面”(如拼字游戏)并且无论它们是正面朝上还是正面朝下,你的也有 x 和 y 尺寸。跨度>
    • 感谢您的帮助。我没有完全按照你的方式做,但你的方法让我朝着正确的方向前进。
    猜你喜欢
    • 1970-01-01
    • 2012-10-02
    • 2013-02-10
    • 1970-01-01
    • 1970-01-01
    • 2022-06-15
    • 1970-01-01
    • 1970-01-01
    • 2011-05-20
    相关资源
    最近更新 更多