Swift - iOS 9: как представить UIViewController с нестандартным размером в iOS 9?

у меня есть представление, и я хочу отобразить UIViewController с нестандартным размером. Но у меня не получилось. Вот мой код.

var vx = KeyboardViewController()
vx.modalPresentationStyle = UIModalPresentationStyle.FormSheet
vx.preferredContentSize = CGSizeMake(self.view.frame.width, 150)    
self.presentViewController(vx, animated: true, completion: nil)

Этот UIViewController отображается в полноэкранном режиме.


person TomSawyer    schedule 10.03.2016    source источник


Ответы (1)


Вам нужно дать представленному контроллеру представления пользовательский transitioningDelegate, который затем сможет вставить пользовательский UIPresentationController в процесс презентации, чей frameOfPresentedViewInContainerView вы должным образом переопределите.

person matt    schedule 10.03.2016
comment
Рабочий загружаемый пример проекта здесь: github.com/mattneub/custom-alert-view-iOS7< /а> - person matt; 10.03.2016
comment
Я не понимаю код, он слишком сложен для меня. Я видел этот ответ, но он не работал: stackoverflow.com/questions/29219688/ . Нет более простого способа представить uiviewcontroller половинного размера? - person TomSawyer; 10.03.2016
comment
Этот ответ точно такой же, как то, что я вам говорю и показываю, как это сделать. - person matt; 10.03.2016