Почему я не получаю родительский UIView с белым фоном?
Поскольку белый вид не имеет размера.
Линия
topViewa.frame.size = CGSize(width: screenWidth, height: 44)
... не имеет никакого эффекта.Вы решили использовать ограничений для позиционирования и размера этого представления.Теперь вы должны выполнить этот контракт, указав его как позицию, так и размер только с помощью ограничений.Вы не указали никаких ограничений по высоте или ширине (или, альтернативно, по нижним или конечным ограничениям), поэтому представление имеет нулевой размер, и вы ничего не видите.
Красное подпредставление, тем временем, остается видимым, потому что белое суперпредставление clipsToBounds
- это false
.Если бы это было true
, вы бы тоже не увидели красное подпредставление.