У меня есть карта с несколькими контактами карты. На каждом выводе, при нажатии, отображается представление с информацией, специфичной для выбранного булавки. Так что скажем, информация о местоположении.сделалSelect исполнение не до конца сделалDeSelect анимация до конца
Представьте следующий случай использования:
1- При выборе контактный, анимировать отображение представления с информацией о выбранном штифтом.
2- При выборе другой контактный, анимировать скрытие представления, выбранного на шаге 1.
3- После того, как анимация со стадии 2 закончена, анимировать отображение представления с конкретной информацией о новом выбранном штыре.
Я выполнил следующие функции MapKit
func mapView(_ mapView: MKMapView, didDeselect view: MKAnnotationView) {
UIView.animate(withDuration: 0.5, animations: {
// Animate views
})
}
func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView){
// did select code
UIView.animate(withDuration: 0.5, animations: {
// Animate views
})
}
После того, как я пытаюсь выполнить действие для шага 2, функция didDeselct выполняется. Затем после этого выполняется логика в функции didSelect. Это работает, но есть одна проблема. Выполнение анимации в didDeselect не заканчивается до выполнения функции didSelect.
Как заблокировать выполнение didSelect до тех пор, пока анимация в файле didDeselct не будет завершена.
Имейте в виду, что мне все еще нужна функция didSelect, поэтому я не могу поместить логику этой функции внутри кода анимации.
Спасибо, это то, о чем я думал, но я думал, что есть способ сделать это, что было встроено в рамки. Я попробую это. –
Возможно, есть способ, который встроен в фреймворк, но я не человек, у которого такой быстрый опыт. Попробуйте, если это сработает, никаких проблем; Если нет, сообщите мне. – Faruk
Спасибо, хорошо работает –