UIView drawRect вызывается повторно

#ios #uiview #uikit #drawrect

#iOS #uiview #uikit #drawrect

Вопрос:

У меня есть пользовательский UIView, где я вижу, что drawRect вызывается много раз в секунду, хотя я не вызываю setNeedsDisplay в коде. Я не хочу повторно отображать одно и то же содержимое, если нет обновления. Как мне остановить ненужный вызов drawRect? В документации drawRect говорится, что он не вызывается, если не вызван setNeedsDisplay / setNeedsDisplayInRect. Но я не вижу, чтобы это происходило в отладчике. Отладчик просто показывает последовательность — UIApplicationMain , MyView.draw

РЕДАКТИРОВАТЬ: я нашел проблему. Я выполняю setNeedsDisplay в viewWillLayoutSubviews. Теперь вопрос в том, почему viewWillLayoutSubviews вызывается повторно.

Комментарии:

1. во время запуска приложения вызывается?

2. Нет, почти каждую секунду.