我需要这样的东西:
图片地图(我认为必须使用某种类型的UIView
来完成)这是一个图像(特殊地图),其中一些区域(多边形)应该调用一个事件触摸时...如何对触发事件的图像进行poligon-“叠加”?
上面提到的图片地图和UITableView
中的UIScrollView
- 但我认为这不应该那么难......?之后应该看起来像这样。
-------------------------- UIScrollView top
+-----------------------+
+ polygon UIView +
+-----------------------+
+-----------------------+
+ UITableView +
+-----------------------+
-------------------------- UIScrollView bottom
提前感谢您的回答!
答案 0 :(得分:1)
我创建了一个UIView的子类(例如DOMImageMapView
),其中包含与之关联的CGPathRef
或UIBezierPath
个实例的列表。
在DOMImageMapView
的{{1}}实现中,您将绘制图像,然后遍历每个路径实例并使用drawRect:
或CGContextFillPath()
填充它。
对于点击测试,您需要实施-[UIBezierPath fill]
(或类似),并通过touchesEnded:withEvent:
或CGPathContainsPoint()
测试每条路径。如果其中一条路径返回-[UIBezierPath containsPoint:]
,请调用YES
之类的委托方法。
您的imageMapView:didSelectArea:
(或UITableViewController
中包含UIViewController
)会创建UITableView
并将自己设为DOMImageMapView
。当点击一个区域时,控制器将接收回调并可以适当地处理该事件。