- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我无法在可选择的 MapView 上创建自定义注释。我尝试了几种方法,但没有成功:
您可以在下面的代码中找到所有这些方法的注释:
override func viewDidLoad() {
super.viewDidLoad()
// some more initialization code
for item in items {
let annotation = IdentifiedMKPointAnnotation() // has only one additional property named "id"
annotation.coordinate = CLLocationCoordinate2D(latitude: item.spots[0].latitude!, longitude: item.spots[0].longitude!)
annotation.id = i
self.mapView.addAnnotation(annotation)
i += 1
}
}
// MARK: - MapViewDelegate
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
let item = self.items[(annotation as! IdentifiedMKPointAnnotation).id!]
let annotationView = MKAnnotationView(annotation: annotation, reuseIdentifier: "")
//annotationView.canShowCallout = false
//annotationView.isEnabled = false
let imageView = UIImageView()
imageView.frame.size = CGSize(width: 40, height: 40)
imageView.layer.cornerRadius = 20
imageView.layer.masksToBounds = true
imageView.af_setImage(withURL: URL(string: item.images.count > 0 ? item.images[0] : item.image!)!)
imageView.contentMode = .scaleAspectFill
//let gr = UIGestureRecognizer(target: self, action: #selector(annotationSelected(_:)))
//imageView.addGestureRecognizer(gr)
//imageView.isUserInteractionEnabled = true
//let button = UIButton()
//button.frame.size = CGSize(width: 40, height: 40)
//button.setImage(#imageLiteral(resourceName: "play_arrow"), for: .normal)
//button.addTarget(self, action: #selector(annotationSelected(_:)), for: .touchUpInside)
annotationView.addSubview(imageView)
//annotationView.addSubview(button)
return annotationView
}
func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView) {
performSegue(withIdentifier: "showDetail", sender: self.items[(view.annotation as! IdentifiedMKPointAnnotation).id!])
view.setSelected(false, animated: false)
}
func annotationSelected(_ sender: UIImageView) {
performSegue(withIdentifier: "showDetail", sender: self.items[((sender.superview as! MKAnnotationView).annotation as! IdentifiedMKPointAnnotation).id!])
}
对于为什么 Action 没有/没有触发有什么想法吗?
最佳答案
如果注释的 title
为空,则不会调用 didSelect
委托(delegate)。试试下面的代码。
let annotation = IdentifiedMKPointAnnotation()
annotation.title = "title"
关于ios - didSelect for MKAnnotationView 未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45844181/
我有一个点击手势识别器添加到 mapView。我的 MapView 有注释,当我只点击注释时 dismissCollectionView叫做。 DidSelectAnnotation 方法没有被调用。
我尝试执行两项操作。 单击即可选择要推送到新 View Controller 的单元格。 双击可为单元格添加动画。 我注册了双击手势并将 doubleTapGesture.delaysTouchesB
如何识别 viewForSupplementaryElementOfKind 中的选择?我尝试将目标添加到 header 内的按钮,但这不起作用。选择操作是否发送到 didSelectItemAtIn
当我点击 map 注释时,它会显示有关图钉的更多信息。 在我第一次点击尝试时,当我点击 map 注释时,它会成功运行并且会显示正确的信息,但是当我点击返回按钮并对同一引脚进行第二次点击尝试时,发生了
我有问题 tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewContro
我正在尝试检测用户在与 CNContactPickerViewController 交互时选择的属性类型,方法是检查传递给联系人选择器完成的协议(protocol)函数的 CNContactPrope
希望你到目前为止过得愉快... 我正在尝试使用 FSCalendar 库在 Swift iOS 中构建一个日历应用程序,并且效果很好。现在我在字典中保存了日期和该日期的匹配数据,所以这就是我现在在这篇
所以我有一个 UITabBarController,其中嵌入了两个 View Controller 。我实现了 did select tab bar 方法,当用户选择一个选项卡时,它会将一个值传递给该
每次我按下一个单元格时,我都希望该单元格更改图像: - (void)collectionView:(UICollectionView *)collectionView didDeselectItemA
我无法在可选择的 MapView 上创建自定义注释。我尝试了几种方法,但没有成功: 使用 MKMapViewDelegate 的 didSelect 使用添加到 AnnotationView 的 UI
问题 在 iOS 10.2 上 didSelect() 仅在第一次选择消息时调用,但不会在第二次选择同一消息时调用(在第一次选择发生后)。例如: 在我的消息应用程序处于事件状态时单击收到的 MSMes
我面临着一个非常奇怪的问题。我使用 tableView 来实现菜单目的。它运行良好。但问题是,在该表的最后一行中,只有上半部分区域触发了选择事件。当我单击最后一行的中间时,选择不起作用。单击单元格的上
摘要 可以UICollectionViewCell子类预防didSelectItemAt: indexPath发送至UICollectionViewDelegate对于点击其某些 subview ,但
我有两个 UIPickerViews:pickerOne 和 pickerTwo。 pickerTwo 的内容取决于 pickerOne 中选择的内容。每个选择器所选项目的名称显示在 UITextFi
由于我的单元格可以点击展开,并且可展开部分包含两个按钮,因此我希望当用户点击这些按钮时不会调用 DidSelect/DidDeselect 以改善用户体验。 按钮放置在另一个 UIView 内的 St
所以问题是,当点击一个单元格时,会显示所需的数据,当再次点击同一单元格时(再次显示所需的数据。) 但是,当选择一个单元格并再次选择其他单元格时(然后会显示第二个点击单元格的数据,但不会取消选择第一个单
如何在 didselectRow 上显示 uitableview 的滑动选项: 想要显示如下所示的滑动选项。 例如图所示,这应该在 didselect 行中实现。如何才能实现这一点帮助我。提前致谢。
我正在从 Web 服务获取相关响应并在我的应用程序中使用 AFNetworking { "CityMap_Image": {" ImagePath1":"alm.demo11.com\/admin
我可以在选择时访问核心数据记录的属性,但不能访问整个记录。我想要整个东西,所以我可以将它存储为一个变量,然后保存另一个与这个实体有关系的实体。我唯一能想到的就是用一个狭窄的谓词触发另一个提取 - 但那
我目前有一个 tableView,当单元格被按下时,我想显示某些数据。 tableView 当前有 2 个单元格“Set One”、“Set Two”。 如果标题为“Set One”的单元格选择了,那
我是一名优秀的程序员,十分优秀!