Что делают setNeedsLayout и layoutIfNeeded?
Когда setNeedsLayout откладывает пересчёт layout?
Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Рейтинг:
2
Сложность:
7
setNeedsLayout помечает что view требует обновления layout в следующем цикле run loop. layoutIfNeeded немедленно обновляет layout, если он помечен как dirty. Первый откладывает обновление, второй форсирует его.
Рейтинг:
5
Сложность:
5
setNeedsLayout не пересчитывает layout сразу.
Он лишь помечает view как требующую обновления.
Фактический пересчёт произойдёт позже, в конце run loop.
Это позволяет системе объединять несколько изменений.