#ios #uiview #uikit #drawrect
#iOS #uiview #uikit #drawrect
Вопрос:
У меня есть пользовательский UIView, где я вижу, что drawRect вызывается много раз в секунду, хотя я не вызываю setNeedsDisplay в коде. Я не хочу повторно отображать одно и то же содержимое, если нет обновления. Как мне остановить ненужный вызов drawRect? В документации drawRect говорится, что он не вызывается, если не вызван setNeedsDisplay / setNeedsDisplayInRect. Но я не вижу, чтобы это происходило в отладчике. Отладчик просто показывает последовательность — UIApplicationMain , MyView.draw
РЕДАКТИРОВАТЬ: я нашел проблему. Я выполняю setNeedsDisplay в viewWillLayoutSubviews. Теперь вопрос в том, почему viewWillLayoutSubviews вызывается повторно.
Комментарии:
1. во время запуска приложения вызывается?
2. Нет, почти каждую секунду.