Size: a a a

iOS Developers — русскоговорящее сообщество

2019 October 25

TF

Tung Fam in iOS Developers — русскоговорящее сообщество
Vitaliy Monastyrev
у них и в документации написано, что только при смене темы
нет, это не смена темы

а смена "размера экрана"

https://developer.apple.com/documentation/uikit/uitraitcollection
источник

TF

Tung Fam in iOS Developers — русскоговорящее сообщество
например айпед может иметь разные трейт колекшны когда в сплит моде находится (когда вторая апка справа открыта)
источник

VM

Vitaliy Monastyrev in iOS Developers — русскоговорящее сообщество
о, вон что, спасибо
источник

TF

Tung Fam in iOS Developers — русскоговорящее сообщество
Vitaliy Monastyrev
получилось пофиксить
отлично) молодец 👍
источник

VM

Vitaliy Monastyrev in iOS Developers — русскоговорящее сообщество
😄
источник

TF

Tung Fam in iOS Developers — русскоговорящее сообщество
Vitaliy Monastyrev
override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
       
if #available#available(iOS 13.0, *) {
           
self.navigationController!.navigationBar.compactAppearance = self.navigationController!.navigationBar.standardAppearance
           
           
self.navigationController?.navigationBar.setNeedsLayout()
       }
   }
но честно я не понимаю как) просто я думаю что у тебя есть кусок кода который ломает этот нав бар. и потом ты его чинишь.

то есть , есть вариант что ты можешь починить найдя то что ломает. и не нужно будет писать этот кусок кода чтобы починить )) понял что я имею в виду?
источник

VM

Vitaliy Monastyrev in iOS Developers — русскоговорящее сообщество
я нашел обсуждение на stackoverflow
источник

VM

Vitaliy Monastyrev in iOS Developers — русскоговорящее сообщество
в теме ios13 такие окна инициализируются с compactAppearance
источник

VM

Vitaliy Monastyrev in iOS Developers — русскоговорящее сообщество
поэтому он мелкий
источник

VM

Vitaliy Monastyrev in iOS Developers — русскоговорящее сообщество
а при переходе применяется standardAppearance
источник

VM

Vitaliy Monastyrev in iOS Developers — русскоговорящее сообщество
и он расширяется
источник

TF

Tung Fam in iOS Developers — русскоговорящее сообщество
а. понял. спасибо
источник

VM

Vitaliy Monastyrev in iOS Developers — русскоговорящее сообщество
хотя, что забавно, что даже если не переходить на следующее окно, а просто сменить тему - применится standardAppearance
источник

VM

Vitaliy Monastyrev in iOS Developers — русскоговорящее сообщество
и это как-то совсем мозг выносит
источник

VM

Vitaliy Monastyrev in iOS Developers — русскоговорящее сообщество
сейчас я просто поставил standardAppearance для типа compactAppearance
источник

TF

Tung Fam in iOS Developers — русскоговорящее сообщество
"сменить тему" это что означает?
источник

VM

Vitaliy Monastyrev in iOS Developers — русскоговорящее сообщество
включить темный режим
источник

TF

Tung Fam in iOS Developers — русскоговорящее сообщество
Vitaliy Monastyrev
override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
       
if #available#available(iOS 13.0, *) {
           
self.navigationController!.navigationBar.compactAppearance = self.navigationController!.navigationBar.standardAppearance
           
           
self.navigationController?.navigationBar.setNeedsLayout()
       }
   }
попробуй тогда сделать то же самое что и тут но без 1ой строки кода. сразу делай setNeedsLayout
источник

TF

Tung Fam in iOS Developers — русскоговорящее сообщество
возможно там просто лейаут не сработал
источник

VM

Vitaliy Monastyrev in iOS Developers — русскоговорящее сообщество
о, да, ты прав
источник