Я пытаюсь создать некоторые приложения для iOS во время обучения, и у меня возникают проблемы с пониманием правильного способа сделать это.
В настоящее время у меня есть представление, которое является подклассом UIView. Это понятно, и я хочу использовать его как поверхность для рисования. Он будет лежать поверх чего-то другого, например, кальки.
Пользователь должен иметь возможность щелкнуть одну точку, затем другую, и между двумя точками должна начертиться линия. Я получаю данные касания, у меня есть точки, и я могу рисовать вещи изнутри drawRect: первоначально.
Проблема в том, что я не уверен, как обновить вещи позже. Когда все загрузится и drawRect: будет вызвано, он просто нарисует линию. Но как мне заставить его рисовать новые вещи или изменять вещи, которые уже нарисованы, основываясь на том, что делает пользователь? Я знаю, что мне нужно вызвать setNeedsDisplay, но не то, как получить данные для представления для рисования.
Я прочитал кучу уроков / примеров, и все они остановились на «Переопределить drawRect: и нарисовать некоторые вещи ... готово!». Как передать данные в представление, чтобы сказать «эй, перерисовать этот материал и добавить эту новую строку».
Или я поступаю неправильно?
EDIT:
Я постараюсь лучше объяснить настройки, которые у меня есть.
У меня есть ВК. В представлении этого ВК у меня есть панель инструментов внизу. Остальная часть области занята 2 представлениями. Одним из них является вид изображения, который содержит контрольное изображение. Одним из них является пользовательский вид (калька), который находится сверху. Они нажимают кнопку на панели инструментов, которая включает распознаватель жестов. Они нажимают на экран, и я собираю данные касания, выключаю распознаватель жестов и НАДЕЖНО рисую линию. У меня все работает, кроме рисования.