NB. Прямо сейчас у меня есть программно установленные ограничения и раскадровки.
- Вопрос первый:
Если я соблюдаю ограничения как для программ, так и для раскадровки, я получаю ошибки в своей раскадровке, но приложение работает нормально (я заменил некоторые ограничения раскадровки на программные). Но я могу сделать это? Примет ли это яблоко?
Если нет
- Вопрос второй:
У меня есть ViewController, в который я помещаю два вида контейнера, каждый с разными размерами, чтобы создать своего рода боковое меню.
У меня есть большой экран размером с экран, и маленький, размером с экран, но шириной в половину экрана.
Сначала я добавил свои ограничения в раскадровку, но теперь я понял, что мне нужно установить их программно, чтобы достичь того, что мне нужно.
Ограничения, которые мне нужно преобразовать из раскадровки в код:
БОЛЬШОЙ КОНТЕЙНЕР 375x667:
- Конечное пространство для superView (или что-то, чтобы его правая сторона адаптировалась к каждому устройству, я думаю, superview должно работать нормально);
- Ширина и высота равна виду;
- Вывод места в маленьком контейнере (0).
МАЛЕНЬКИЙ КОНТЕЙНЕР 240x667
- Ширина равна 240;
Высота равна высоте большого контейнера;
Конечный пробел к большому контейнеру (нет необходимости добавлять это снова здесь, если мы уже установили начальное пространство большого контейнера);
Выравнивание, ведущее к безопасной зоне, равно -240.
Вот что я уже сделал (правильная часть):
func containerViewsConstraints() {
containerView1.translatesAutoresizingMaskIntoConstraints = false
containerView1.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
containerView1.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
containerView2.translatesAutoresizingMaskIntoConstraints = false
containerView2.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
containerView2.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
}
Вот что я попробовал (не уверен, что правильно):
containerView2.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
containerView2.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true
containerView2.widthAnchor.isEqual(view.widthAnchor)
containerView2.heightAnchor.isEqual(view.heightAnchor)
containerView1.widthAnchor.constraint(equalToConstant: 240)
containerView1.heightAnchor.isEqual(view.heightAnchor)