У меня есть подкласса UIView (currentMapView), который рисует карту нескольких состояний, используя серию CGMutablePaths, вытащенную из файла XML. Когда пользователь вступает в состояние, цвет заливки меняется с зеленого на фиолетовый. Сейчас я выясняю, какое состояние было задействовано на лету, используя CGPathContainsPoint, чтобы сообщить, какой путь был использован, и затем задаю цвет заливки этого пути и перезагрузите представление, используя setNeedsDisplay. Проблема заключается в том, что мне нужно повторно использовать currentMapView несколько раз (разные группы состояний), и я не уверен, как мне следует отслеживать, какие пути пользователь набрал, поэтому я могу покрасить их снова, когда я перезагружаю представление из файла XML.Отслеживание изменений в UIView
Вот шаг за шагом пример того, что я делаю:
currentMapView загружает данные о пути из файла XML и рисует карту восточной части Соединенных Штатов.
Пользователь вводит Флориду, и получается фиолетовым (я называю «setNeedsDisplay» на currentMapView после установки цвета заливки пути Флориды с помощью CGContextSetFillColorWithColor)
Пользователя выстукивает Северную Каролину, и получается фиолетовым (я называю «setNeedsDisplay» на currentMapView после установки цвета заливки пути Северной Каролины, используя CGContextSetFillColorWithColor)
пользователь переходит к другой точке зрения, и мне нужно сделать еще одну группу государств в currentMapView (обтирать, что его там).
Все работает отлично.
Когда пользователь вернется к просмотру с первого шага, и я снова нарисую карту восточных штатов США, мне нужно снова покрасить пути Флориды и Северной Каролины.
Что было бы лучшим способом отслеживать пути, к которым коснулся пользователь?
Спасибо! Вот так! – Frank