У меня проблемы с представлением контроллера вида от другого. Единственный способ, которым я смог достичь этого, это с помощью следующей строки кода:
UIApplication.shared.keyWindow?.rootViewController?.present(partyMemberPage, animated: false, completion: nil)
Вот вся эта функция:
func partyMemberPage() {
let layout = UICollectionViewFlowLayout()
let partyMemberPage = PartyMemberPage(collectionViewLayout: layout)
UIApplication.shared.keyWindow?.rootViewController?.present(partyMemberPage, animated: false, completion: nil)
print("from SplitButton")
}
Хотя приведенный выше код работает, мне любопытно, почему приведенный ниже код не работает. Все, что я пытаюсь, я получаю сообщение об ошибке, в котором говорится, что мне нужно инициализировать UICollectionView
с параметром макета не-ноль.
self.present(partyPage, animated: true, completion: nil)
Я почти уверен, что у меня есть нужные предметы для использования self.present()
, но я не могу заставить его работать на этом виртуальном канале.
PS: Мне также любопытно, когда стоит поменять rootViewController
(как в первой строке кода) и когда допустимо просто модально представлять контроллеры представления. Мое приложение будет иметь дело с хранением небольшого количества данных, так что это лучший способ передачи этих данных в долгосрочной перспективе.
Вся помощь очень ценится. Я могу предоставить больше кода, если это необходимо. Я очень новичок в программировании и в целом, так что прости меня, если какая-то логика ошибочна. Спасибо!