如何获取图像中的触摸坐标,然后在弹出视图中绘制标记图标及其内容

时间:2011-01-21 07:18:51

标签: iphone image touch coordinates markup

我想构建一个iPhone / iPad应用程序来显示大图像(在scrollView或支持拖动和缩放的其他内容),允许用户:

  • 触摸图片中的某些位置进行标记并发表评论
  • 用户可以点击该标记图标/按钮以在popOverView中查看评论
  • 修改评论或删除该标记

所以我想问一下:

  • 如何获取图像中的触摸坐标(不是屏幕)?
  • 如何在图像中的触摸点处绘制标记图标/按钮,即使在拖动,缩放时它也会跟随图像,因为图像非常大,可能高达8000x6000像素?
  • 当用户触摸iPad中的popOverview等视图中的标记图标/按钮时,如何显示注释/注释?
  • 保存并加载这些信息。

它几乎类似于iPhone中Facebook App的标记功能。

感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

1。您将UIImageView子类化并覆盖触摸方法:

  
      
  • (void)touchesBegan:(NSSet *)触及withEvent:(UIEvent *)事件
  •   
  • (void)touchesMoved:(NSSet *)触及withEvent:(UIEvent *)事件
  •   
  • (void)touchesEnded:(NSSet *)触及withEvent:(UIEvent *)事件
  •   
  • (void)touchesCancelled:(NSSet *)触及withEvent:(UIEvent *)事件
  •   

2。您将UIButton添加到UIImageView [yourImageView addSubview:yourButton];,然后将按钮的中心设置为触摸坐标。

3。当用户点击按钮时,只需出现一个弹出窗口。 (您可以设置按钮的标签属性以了解轻敲哪个按钮)

4。如果不是复杂的矿石使用核心数据,请将数据保存到plist到文档目录。

祝你好运。如果您需要更多帮助,请发表评论。

编辑: 您需要为UIImageView将用户userInteractionEnabled设置为YES。

  

userInteractionEnabled用于确定是否为用户的布尔值   事件被忽略并从中删除   事件队列。

     

@属性(非原子,   getter = isUserInteractionEnabled)BOOL   userInteractionEnabled讨论这个   属性继承自UIView   父母班。这个班改变了   该属性的默认值为NO。

     

可用性在iOS 2.0和iOS中可用   后来。在UIImageView.h中声明

来自UIImageView Class Reference