0

我最近继承了一个 iPad 项目,它基本上是一个图像/演示文稿查看器。选择用户希望查看的演示文稿后,该应用程序基本上会一张一张地显示图像,当用户向上或向下滑动,或者当他们点击屏幕角落的箭头之一时,图像会发生变化。但是,演示文稿中的一些图像有分页点,它们的两边都有箭头。图像是按顺序排列的,当您从一个滑动到下一个时,点会移动。我们的客户希望能够使用作为静态图像一部分的点和箭头进行导航。这意味着当他们击中一个点时,它会将他们带到适当的页面。

这个应用程序的早期、早期、原始版本有一个巨大的 plist 文件,其中包含应用程序中所有图像的信息,包括是否有这些轮播视图,以及它们会去哪里。现在这种情况早已不复存在,应用程序中的图像/演示文稿比当时多得多。

有没有更好的方法来确定在哪里听触摸?或者我应该辞职写一个文本文件,并且知道当内容发生变化时我必须编辑它?我被告知内容不应该经常更改。

4

1 回答 1

0

您需要创建图像到点位置的映射,并在图像符合查看条件时动态执行此操作,并在图像超出范围时将其删除。如果您使用的是 UIImageViews,则可以为此使用标签字段,如果不是 - 如果使用原始 CGImageRefs 或 UIImages 也可以。

您创建一个 mutableDictionary,并使用键映射到图像。如果是 UIImageView,这可以是代表标签的 NSNumber,如果是图像,则可以使用设置为图像地址的 NSValue 对象。当图像进入范围时,您向字典中添加一个条目,该条目具有图像键,以及单个 NSNumber 来标识点位置,或者是命中矩形的字符串表示(回想一下,您可以将 CGRects 转换为字符串,反之亦然与 NSStringFromCGRect() 等)。

当您点击图像时,您会获得相关图像的键,从可变字典中请求定位器,并允许或禁止它。您将需要知道图像在任何容器中的帧,因为正在执行点击识别的任何内容可能不是图像本身,因此您可以获得本地图像偏移量。

于 2012-10-11T21:45:52.713 回答