NSLayoutConstraint не изменяет размер при повороте Swift - PullRequest
0 голосов
/ 25 апреля 2019

Я просто хочу создать представление прокрутки в родительском представлении и прикрепить его к представлению в коде (а затем продолжить, чтобы создать представление содержимого, которое закреплено и имеет ту же ширину и высоту).

Это должно быть просто, но когда я поворачиваю устройство, прокрутка не вращается!

let scrollView = UIScrollView(frame: view.frame)
scrollView.backgroundColor = UIColor.blue
view.addSubview(scrollView)

NSLayoutConstraint.activate([
    scrollView.trailingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.trailingAnchor),
    scrollView.leadingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leadingAnchor),
    scrollView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor),
    scrollView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor),
    ])

Я также пробовал

scrollView.leadingAnchor.constraint(equalTo: scrollView.superview!.leftAnchor)

и различные другие комбинации.

Этовсе вызывается изнутри

viewDidLoad

Если я начинаю в портретной ориентации и поворачиваюсь в альбомную ориентацию (изображение на виде, синий - это вид прокрутки)

enter image description here

1 Ответ

1 голос
/ 25 апреля 2019

Вы должны присвоить translatesAutoresizingMaskIntoConstraints свойство false

let scrollView = UIScrollView(frame: view.frame)
scrollView.translatesAutoresizingMaskIntoConstraints = false
scrollView.backgroundColor = UIColor.blue
view.addSubview(scrollView)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...