【问题标题】:Divide an Image to a clickable parts将图像划分为可点击的部分
【发布时间】:2017-01-25 19:28:41
【问题描述】:

我正在尝试将一张图片分成多个可点击部分。例如,如果图像是身体图像,并且我点击了头部,它应该带我到另一个 HeadViewController,但如果我点击左手,它应该带我到另一个视图控制器 知道该怎么做吗?

【问题讨论】:

  • 在图像的每个部分放置不同的按钮。

标签: ios swift uiimageview imageview


【解决方案1】:

简单的方法:

在具有清晰背景色的图像顶部添加 UIButton。您可以使用 AutoLayout 来做到这一点,并且在放大和缩小时始终获得正确的区域比例。

硬法:

UITapGestureRecognizer 添加到UIImageView 并根据收到touchPoint 的位置计算CGPoint。这很复杂,必须正确计算。

对你来说,我建议建议的第一种方法。

【讨论】:

  • 伟大的思想都一样。你在我之前点击了发送。 :) 您的“硬方法”似乎并不难。我提供了第三个选项,创建一个自定义手势识别器,它会更复杂一些(但也更可重用)。
  • ﹢1 简单方法
  • 有没有教程如何计算CGPoint以及如何使用?
  • @mahdi 有很多因素需要考虑(图像比例(如图所示),将显示的“大小”转换为实际像素,不同触摸“区域”的坐标(CGRect),screenSize,用户接触点(CGPoint))但是,检查这个线程:stackoverflow.com/questions/17200191/… 和这个:stackoverflow.com/questions/7216663/…,你可以谷歌“从 UIImageView 获取 CGPoint”,你会发现更多的来源。总帐
【解决方案2】:

将点击手势识别器附加到您的图像视图。将启用的用户交互设置为 true。

在点击手势的处理程序中,获取用户点击的坐标并编写自定义代码,以确定用户点击了哪个“热框”。

或者,您可以创建具有多个点击区域的 UIGestureRecognizer 的自定义子类。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-28
    相关资源
    最近更新 更多