1

我不确定 iPhone 版本的名称是什么,但在 HTML 中它是一个图像映射。地图的某些区域会将您引导至不同的页面。我想使用一个图像,主要是在滚动视图中,我可以让某些区域执行不同的操作。例如,Chemical Touch, http: //itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware ?id=288060442&mt=8就是这样做的。单击一个元素,它会变大以显示更多细节。这种技术叫什么?它是如何创建的?

我想与用户进行更多的互动,我该怎么做:

  • 将地图图钉拖放到此图像上
  • 根据我在该区域中是否有文本显示 UITextField
  • 根据用户操作覆盖文本

非常感谢这里的任何建议。

4

1 回答 1

1

您基本上需要做的是覆盖以下任何或全部:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event;

在您的 UIView 子类(或实际上是 UIResponder 的任何子类)中。然后,您可以随心所欲地处理该事件,例如执行您在问题中提到的任何事情。

例如,下面是 Apple 的简单事件处理程序示例代码:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    UITouch* touch = [touches anyObject];
    NSUInteger numTaps = [touch tapCount];
    if (numTaps < 2) {
        [self.nextResponder touchesBegan:touches withEvent:event];
   } else {
        [self handleDoubleTap:touch];
   }
}

iPhone 应用程序编程指南中的事件处理部分应该为您提供入门所需的所有信息。

于 2009-04-10T23:18:31.707 回答