0
Я пытаюсь найти способ добавления ссылки на аннотацию в Swift MapFramework, эта ссылка должна перенаправлять пользователя в WebView, насколько я вижу, я не могу найти способ добавить «осязаемую» ссылку в аннотациях SubtitleSwift ссылка в аннотация -> Веб-просмотр
Вот мой код еще
class CustomPointAnnotation: MKPointAnnotation {
var imageName: String!
}
var info1 = CustomPointAnnotation()
info1.coordinate = CLLocationCoordinate2DMake(42, -84)
info1.title = "Info1"
info1.subtitle = "Subtitle"
info1.imageName = "1.png"
var info2 = CustomPointAnnotation()
info2.coordinate = CLLocationCoordinate2DMake(32, -95)
info2.title = "Info2"
info2.subtitle = "Subtitle"
info2.imageName = "2.png"
func mapView(mapView: MKMapView!, viewForAnnotation annotation: MKAnnotation!) -> MKAnnotationView! {
if !(annotation is CustomPointAnnotation) {
return nil
}
let reuseId = "test"
var anView = mapView.dequeueReusableAnnotationViewWithIdentifier(reuseId)
if anView == nil {
anView = MKAnnotationView(annotation: annotation, reuseIdentifier: reuseId)
anView.canShowCallout = true
}
else {
anView.annotation = annotation
}
//Set annotation-specific properties **AFTER**
//the view is dequeued or created...
let cpa = annotation as CustomPointAnnotation
anView.image = UIImage(named:cpa.imageName)
return anView
}
есть ли возможен способ использовать UIGestureRecognizer для этого?
я уже пробовал как
var longpress = UILongPressGestureRecognizer(target: self, action: "newInformation:")
longpress.minimumPressDuration = 2.0
info1.addGestureRecognizer(longpress)
Но заканчивая «ViewController.CustomPointAnnotation не член с именем addGestureRecognizer»
Многие из вопросов вы спрашиваете, уже ответили либо в [документации] (https://developer.apple.com/library/ios/navigation/), либо на SO. В документах найдите ссылку класса MKMapView или прочитайте [Руководство по программированию местоположения и карт] (https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/LocationAwarenessPG/Introduction/Introduction.html). Ответы на SO на данный момент в основном будут в Objective-C, но будут работать _exactly_ то же самое в Swift (просто нужно перевести язык). – Anna
Для этого текущего вопроса типичным подходом является добавление кнопки аксессуара выноски путем установки вида leftCalloutAccessoryView или rightCalloutAccessoryView. Для примера см. Http://stackoverflow.com/questions/25202613/mapkit-in-swift-part-2. Когда кнопка нажата, отображение карты вызовет метод делегата calloutAccessoryControlTapped. Там вы можете представить веб-представление. – Anna
Спасибо Анне за помощь, я сожалею об этом вопросе, и я просто начинаю учиться быстро и объективно, а иногда даже, если вижу, что я не получаю это;)! –