iOS Swift MKMapView 设置覆盖在 map 前面,注释 View 后面

标签 ios swift

这是我要实现的目标的图像:

enter image description here

基本上,一个“变暗”的 map 。

问题:用户需要平移 map 的能力,因此仅在 map 上添加半透明 View 是行不通的。 (在 mapView 上添加 View 意味着它将无法检测手势。)

我尝试过的事情:

  • 设置 mapView backgroundColor
  • 使用 mapView.insertSubview 添加半透明 View
  • 设置 mapView alpha(影响所有 child ,即注释 View )
  • MKOverlay(我只找到了通过坐标设置 View /多边形的方法)

最佳答案

是否可以将一个 View 子类化为半透明 subview ,并给它一个名为“map”的新变量。此 map 变量将是对实际 map 的引用。为 subview 添加手势识别器,当某种手势发生时,将手势传递给 map 。

或将手势识别器添加到 subview ,并在手势识别器中说 map.runFunctionForThatGesture

我自己没做过,不过我觉得应该可以

关于iOS Swift MKMapView 设置覆盖在 map 前面,注释 View 后面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32162459/

相关文章:

swift - 使用 UITextField 和 UITextView 时出错

ios - 如何仅在一个表格 View 单元格中更改标签并使用 Swift 保存?

ios - 你如何使 Storyboard上的 UIImageView 可点击(快速)

ios - 将我自己的应用程序从设备传输到 xcode

ios - 从 xcode 中单元格内的文本字段获取值

ios - 为 UI 获取唯一值,同时保留重复项以在 map 上显示数据

ios - cocoa 指数

ios - 在 Swift 中使用多个条件对字典数组进行排序

swift 4 : How to asynchronously use URLSessionDataTask but have the requests be in a timed queue?

swift - 自更新到 Swift 1.2 以来,字典现在给出错误 'not convertible to BooleanLiteralConvertible'