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