如何解决如何制作自由形状的按钮?
我想创建地图应用。例如,日本的不同地区。它们都是不同的形状,而不是正方形。你推它,它会改变颜色。是否可以在Xcode中创建异常形式的按钮(地图上区域的形式)?
解决方法
绘图
为了在地图上绘制自定义形状,请使用MKPolygon
的自定义子类,在其中定义所选的状态颜色和selected
标志。
internal final class MyPolygon: MKPolygon {
internal var selected = false
internal var selectedColor = UIColor.red.withAlphaComponent(0.6)
...
}
为了为自定义MKPolygon
绘制自定义颜色,请创建MKPolygonRenderer
的子类,并在selectedColor
具有{{1} }。
实现这两个方法后,将叠加层添加到selected == true
MKMapView
将mapView.addOverlay(polygon)
分配给delegate
,然后从委托人的方法返回多边形的渲染器:
mapView
捕获用户输入
将func mapView(_ mapView: MKMapView,rendererFor overlay: MKOverlay) -> MKOverlayRenderer {
if let polygon = overlay as? MyPolygon {
return MyPolygonRenderer(polygon: polygon)
}
return MKOverlayRenderer(overlay: overlay)
}
添加到您的UITapGestureRecognizer
中:
mapView
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。