В моем приложении я пытаюсь создать представление прокрутки с автоматическим изменением размера в зависимости от содержимого, вот упрощенная версия того, что я имею в виду. Я знаю, что должен использовать contentView, но это не работает!
view.addSubview(mainScrollView)
mainScrollView.addSubview(contentView)
mainScrollView.anchorFor(superview: view) // .zero to all edges of view
let view1 = UIView(frame: view.frame)
view1.backgroundColor = .red
let view2 = UIView(frame: view.frame)
view2.backgroundColor = .brown
view2.frame.origin.y = view1.frame.height
mainScrollView.contentSize.height = 2 * view.frame.height
Теперь, если я не укажу contentSize, появится только красный вид. Я также попробовал этот способ:
let contentView = UIView(frame: CGRect(x: 0, y: 0, width: self.view.bounds.width, height: self.view.bounds.height))
contentView.translatesAutoresizingMaskIntoConstraints = false
contentView.backgroundColor = .black
contentView.fillSuperview() // .zero to scrollview edges, but it doesn't work
.
.
.
contentView.addSubviews(view1,view2)
Как сделать скролл-вид, который изменит свой размер в соответствии с размером contentView, который может измениться, например, нажатием кнопки «развернуть», все программно без раскадровки. Спасибо