Есть ли способ установить z-порядок в слое представления аннотаций?

Я хочу, чтобы некоторые изображения annotationView отображались поверх других, чтобы их было легче увидеть. Есть ли способ установить порядок?

Я думал, что попробую что-то вроде

[theMap addAnnotations:arrayOfLessImportantItems];
[theMap addAnnotations:arrayOfMoreImportantItems];

Но очевидно, что после того, как вы попробуете это, метод делегата MKMapViewDelegate mapView: viewForAnnotation не соблюдает какой-либо конкретный порядок, когда он помещает их. (Поскольку представления аннотаций поступают из пула, делегат должен добавлять и удалять аннотации изображения, когда карта смещается на экране.)

Но у меня есть небольшое количество предметов, которые я хочу, чтобы их было легче увидеть, и они зарываются за менее важные карты. Есть ли способ преодолеть это?

5
Это сработало отлично. Спасибо.
добавлено автор Jim, источник
Попробуйте этот ответ .
добавлено автор Anna, источник

1 ответы

Вы также можете использовать свойство zPosition из CALayer (вам нужно будет включить QuatzCore.h), чтобы изменить z-индекс представления.

yourView.layer.zPosition = 1;

Работает так же, как с html/css :)

17
добавлено
Я больше не разрабатываю для iOS, поэтому я не знаю, как это происходит в iOS 11
добавлено автор smihael, источник
Это, похоже, больше не работает в iOS 11.
добавлено автор Marco Pappalardo, источник
Mobile Dev Jobs — вакансии и аналитика
Mobile Dev Jobs — вакансии и аналитика
6 187 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin и т.д. ВАЖНО: Правила публикации и правила канала: Ссылка – https://telegra.ph/Pravila-oformleniya-vakansij-i-rezyume-11-09-2

iOS Developers — русскоговорящее сообщество
iOS Developers — русскоговорящее сообщество
2 400 участник(ов)

Общаемся на темы, посвященным iOS-разработке, Swift, Objective-C, SDK, Rx, Cocoa и т.д.