@ JogendarChoudhary сказал вам, что делать, но на самом деле не объяснил, почему.
Когда вы создаете P2_Gift_Pop_Up
с помощью
let vc = P2_Gift_Pop_Up()
Вы неправильно инициализируете его.У него нет возможности загрузить свои представления из файла / раскадровки XIB.
Предполагая, что ваш контроллер представления определен в раскадровке основного приложения, вам необходимо загрузить контроллер представления из раскадровки.
Вы должны добавить уникальный идентификатор к вашему контроллеру представления в раскадровке, а затем загрузить его, используя этот идентификатор.(Использование имени класса в качестве идентификатора является хорошим выбором для любого.)
Класс UIViewController
имеет свойство storyboard
, которое будет содержать раскадровку, из которой он загружен.Обычно это основная раскадровка вашего приложения и то, что вы хотите.Таким образом:
if let vc = storyboard?.instantiateViewController(withIdentifier: "P2_Gift_Pop_Up id")
as? P2_Gift_Pop_Up {
vc.modalPresentationStyle = .overCurrentContext
present(vc, animated: true, completion: nil)
} else {
print("error creating P2_Gift_Pop_Up")
}