Итак, у меня есть навигационное приложение, которое я создаю, и у меня есть кнопка с названием "meetUp", которая позволяет мне помещать несколько аннотаций вместо удаления старой, как только я добавляю новую, которая является настройкой по умолчанию.запрограммированы.Эта кнопка работает нормально, но я сделал кнопку отмены, которую я хочу вернуть приложению в том состоянии, в котором оно было до того, как я нажал кнопку «MeetUp».Что не так, все, что он делает, это удаляет аннотации, но он не скрывает себя и не отключает себя, не включает кнопку «MeetUp» и не изменяет ее альфа-яркость.Вот код, который на это влияет:
в разделе viewDidLoad:
meetUpOutlet.layer.cornerRadius = 10
cancelOutlet.isHidden = true
cancelOutlet.isEnabled = false
cancelOutlet.layer.cornerRadius = 10
Кнопка "meetUp" и мое расширение, которое создает аннотации (в нем есть оператор 'if', использующий мой«meetUpOutlet», который позволяет работать кнопке «meetUp»):
@IBAction func meetUpButton(_ sender: Any) {
meetUpOutlet.isEnabled = false
meetUpOutlet.alpha = 0.5
cancelOutlet.isEnabled = true
cancelOutlet.isHidden = false
}
extension ViewController: handleMapSearch {
func dropPinZoomIn(placemark:MKPlacemark) {
resultSearchController?.isActive = false
// cache the pin
selectedPin = placemark
// clear existing pins
if meetUpOutlet.isEnabled == true {
mapView.removeAnnotations(mapView.annotations)
} else {
}
// meetUpOutlet.isSelected is set to true because 'isSelected' is set to NO by default, so setting it to true is like saying it is true that the button HAS NOT been selected, and therefore the annotations will continue to be removed.
let annotation = MKPointAnnotation()
annotation.coordinate = placemark.coordinate
annotation.title = placemark.name
if let city = placemark.locality,
let state = placemark.administrativeArea {
annotation.subtitle = "(\(city)) (\(state))"
}
mapView.addAnnotation(annotation)
let span = MKCoordinateSpanMake(0.05, 0.05)
let region = MKCoordinateRegionMake(placemark.coordinate, span)
mapView.setRegion(region, animated: true)
}
}
Вот кнопка «Отмена»:
@IBAction func cancelButton(_ sender: Any) {
mapView.removeAnnotations(mapView.annotations)
cancelOutlet.isEnabled = false
cancelOutlet.isHidden = true
meetUpOutlet.isEnabled = true
meetUpOutlet.alpha = 1.0
}
Кто-нибудь знает, как решить эту проблему?Используя Xcode 9 и Swift 4. Я просмотрел StackOverflow и не смог найти ответ.Спасибо!