172 похожих чатов

Помогите, плиз, выше писал, но пока не удалось решить: UIKit,

layout, хочу, чтобы на портретную и альбомную применялись бы свои констрейнты.
Во viewDidLoad вызываю createConstraints()
, а во viewWillLayoutSubviews вызываю changeConstraints()

func changeConstraints() {
if UIDevice.current.orientation.isPortrait {
NSLayoutConstraint.deactivate(landscapeConstraints)
NSLayoutConstraint.activate(portraitConstraints)
} else {
NSLayoutConstraint.deactivate(portraitConstraints)
NSLayoutConstraint.activate(landscapeConstraints)}
}

но, именно при ПЕРВОМ запуске на симуляторе, вижу, что к портретной применились альбомные. Перевернув несколько раз в портретной потом становятся нужные констрейнты.
1. почему не срабатывают при первом запуске портретные для портретной ориентации?
2. как сделать, чтобы сработали? Спасибо

После потыкался и вот так работает:
во viewDidLoad вызываю createPortraitConstraints(),
а во viewWillLayoutSubviews() -
private func changeConstraints() {
if UIDevice.current.orientation.isPortrait {
NSLayoutConstraint.deactivate(landscapeConstraints)
usePortraitConstraints()
} else if UIDevice.current.orientation.isLandscape {
// NSLayoutConstraint.deactivate(portraitConstraints)
useLandscapeConstraints()
}
}
и так для портретной свои, для альбомной - свои констрейнты срабатывают,

а если остановить приложение в альбомной и/или в альбомной запустить, то повернув до портреной для нее не устанавливаются портретные констрейнты.
Уперся - хочу победить) помогите, плиз

14 ответов

49 просмотров

Взгляни справа на size inspector.

Roman-Vakulenko Автор вопроса

кому интересно - отказался от UIDevice.current в пользу хардкода,который помог и теперь всегда нужные констрейнты для нужной ориентации: private func changeConstraints() { let isPortrait = view.frame.size.height > view.frame.size.width NSLayoutConstraint.deactivate(portraitConstraints + landscapeConstraints) isPortrait ? usePortraitConstraints() : useLandscapeConstraints() }

Roman Vakulenko
кому интересно - отказался от UIDevice.current в п...

отказался от кита в пользу свифтюай и теперь вообще кайфую от верстки =)

MG
отказался от кита в пользу свифтюай и теперь вообщ...

Я отказался от свифтюай в пользу кита и теперь вообще кайфую от верстки :)

Никита
Я отказался от свифтюай в пользу кита и теперь воо...

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

Никита
Я отказался от свифтюай в пользу кита и теперь воо...

Я отказался от верстки и теперь вообще кайфую :)

MG
значит ты просто не созрел для реактива. суи намно...

Я не согласен. Я задолбался всякими хаками делать обычные вещи

MG
м?

а если у тебя мин таргет 13, но ты созрел, что делать?

MG
м?

Ну выглядит так как будто вы залетели на свифтюай с таргетом на 16 иос

Michael
Ну выглядит так как будто вы залетели на свифтюай ...

да ориентируемся от 15. смысл техники эпл в том чтобы она была новой техникой эпл. если вы берете технику эпл прошлых лет то вам не нужна техника эпл. проще брать топовый самсунг каждый год, что будет производительнее. ориентируемся на сегмент аудитории которая может себе позволить новую технику эпл.

MG
да ориентируемся от 15. смысл техники эпл в том чт...

сейчас почти все из финтеха улыбнулись)

Anatoly Qstove
сейчас почти все из финтеха улыбнулись)

мне хватает денег я не гонюсь за маленькой суммой. мы финансируемся из госбюджета саудовской аравии саудиан вижен 2030 с 2026 года. поэтому ориентироваться на ниже 15 смысла нет. до 26 года можно поразвлекаться потестить

Похожие вопросы

Обсуждают сегодня

У меня это всегда вопрос вызывало.. Нафига писать код так, чтобы потом ошибки вылавливать?
Nik
44
Всем привет. Сейчас я изучаю erlang по книге Erlang and OTP in action. Дошел до главы где реализуется первый gen server на примере tcp rpc сервера. Меня очень сильно смутил ко...
Freezing Death
6
что за асемблер кста?
Shvabrikk Nya
19
Добрый день! Пробую отловить исключение EConvertError: function _TryTextToDouble(var DoubleVar: Extended; Text: String): Boolean; begin try DoubleVar := StrToFloat...
Kirill Filippenok
19
Подскажите... Есть ли название у способа разработки кода, в котором: сперва пишут минимальную рабочую структуру: Напр. ввод, обработка, вывод, контроль. Потом эту структуру д...
Budemposmotret
6
В дизассемблере вижу, что строки пихают в регистры через lea, почему так, а не через mov?
Oleg
8
всем привет. реально ли понять чем в процессе занята память? delphi/linux, процесс свой
Handatros
12
А где @Grinyaha уважаемый пропал?
Am Ambrion
14
Коллеги, а не могли бы вы подсказать, как происходит оптимизация кода при выполнении кода julia? (Точнее, как управлять уровнем оптимизации, аналогично LLVM/GCC). Потому что...
Илья Гаража
5
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Карта сайта