iPhone 应用程序中的图像映射

Posted

技术标签:

【中文标题】iPhone 应用程序中的图像映射【英文标题】:Image maps in iPhone app 【发布时间】:2011-03-10 11:07:50 【问题描述】:

我想在 iphone 应用程序中实现一个可点击的饼图。我有一张图片,但我想知道如何使用 UIImageView 或任何其他组件指定可点击区域。我不想使用 html 图像映射。

【问题讨论】:

【参考方案1】:

一个简单的解决方案是在图像顶部添加透明按钮。

UIButton *transparantButton = [UIButton buttonWithType:UIButtonTypeCustom];
transparantButton.frame  = CGRectMake(100, 100, 50, 50);
[transparantButton addTarget:self action:@selector(clicked) forControlEvents:UIControlEventTouchUpInside];
[imageView addSubview:transparantButton];

【讨论】:

谢谢尼克!我可以指定任何形状的按钮吗?例如,我有一个饼图图像。现在通过上述解决方案,我可以指定一个按钮来形成一个饼形或任何不规则形状吗? 好的 - 我想我现在更好地理解了你的问题。您希望能够拥有非矩形触摸区域。您可以堆叠许多矩形按钮来近似您的区域(讨厌!)或扩展您的 imageView 以覆盖 touchesBegan 函数 - 在这里您可以通过算法确定已单击饼图的哪个部分。如果您想要一个代码示例,请告诉我,我会尝试整理一些东西! N 对于像我这样的初学者来说,第一个选项听起来有点讨厌!对于第二个,我真的开始想知道如何通过覆盖 imageView 来实现它。我刚刚开始认为使用 HTML 通过 UIWebView 实现它可能是一个更快的选择。我真的没时间了。您对此有何看法?【参考方案2】:

您可以尝试通过将自定义按钮放置在您想要或检测触摸的区域上,并根据触摸的位置您可以执行必要的操作。

注意:如果此类可点击区域的数量较少,则使用按钮的方法更好。

【讨论】:

我可以指定任何形状的按钮吗?例如,我有一个饼图图像。现在通过上述解决方案,我可以指定一个按钮来形成一个饼形或任何不规则形状吗? 我不知道它是否有帮助,但您可以对此有所了解iphonedevelopment.blogspot.com/2010/03/…【参考方案3】:

您可以使用 jquery mobilymap 为 iphone 创建图像地图:Jquery Map

【讨论】:

他不想使用 HTML。

以上是关于iPhone 应用程序中的图像映射的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iphone 应用程序中的 web 服务上发布图像

如何在 iPhone 应用程序的 UITableCell 中的背景中加载图像

ios 6:iPhone 5 中的背景图像视图

带有从 iphone 中的服务器加载的图像的表格视图

如何从 iPhone 中的目录中检索图像?

iPhone 6S plus 和 iPhone 7 plus 中的启动图像问题