NB: Прямо сейчас у меня есть как программно установленные ограничения, так и ограничения раскадровки.
- Вопрос один:
Если я сохраняю как программные ограничения, так и ограничения раскадровки, я получаю ошибки в своей раскадровке, но приложение работает нормально (я заменил некоторые ограничения раскадровки программными). Но могу ли я это сделать? Примет ли это Apple?
Если не
- Вопрос второй:
У меня есть ViewController, в котором я размещаю два представления контейнера, каждое с разными размерами, чтобы создать своего рода боковое меню. У меня есть большой, размером с экран, и маленький, длиной с экран, но шириной в половину экрана. Сначала я добавил свои ограничения в раскадровку, но теперь понял, что мне нужно установить их программно, чтобы добиться того, что мне нужно. Ограничения, которые мне нужно преобразовать из раскадровки в код,
БОЛЬШОЙ КОНТЕЙНЕР 375 x 667:
- Завершающее пространство для superView (или что-то, чтобы его правая сторона адаптировалась к каждому устройству, я думаю, superview должен работать нормально);
- Ширина и высота равны просмотру;
- Ведущее пространство для просмотра небольшого контейнера (0).
МАЛЕНЬКИЙ КОНТЕЙНЕР 240 x 667
- Ширина равна 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)