Быстрое размещение пользовательского режима просмотра в центре экрана

#ios #swift #modal-dialog #presentmodalviewcontroller

Вопрос:

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

Я хотел бы отобразить представление в центре экрана и показать контроллер, который представил представление в фоновом режиме.

Я попытался изменить стиль презентации на всплывающее окно и таблицу страниц, но это заняло весь экран. Как отобразить представление в центре с приложением в фоновом режиме?

Ниже приведен код:

 let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)
let customAlert = storyBoard.instantiateViewController(withIdentifier: "CustomAlertViewController") as! CustomAlertViewController
customAlert.providesPresentationContextTransitionStyle = true
customAlert.definesPresentationContext = true
customAlert.modalPresentationStyle = UIModalPresentationStyle.currentContext
customAlert.modalTransitionStyle = UIModalTransitionStyle.crossDissolve
if let topVC = UIApplication.shared.topMostViewController() {
    topVC.present(customAlert, animated: true, completion: nil)
}
 

введите описание изображения здесь
введите описание изображения здесь

Изменить: Удалось центрировать представление, изменив ограничения.

Комментарии:

1. Попробуй overCurrentContext

2. @Paulw11 — Спасибо! Я попробовал, и это показывает приложение в фоновом режиме, но модал все еще не центрирован.

3. Используйте контроллер дочернего представления, а не модель, которая даст вам контроль над позиционированием?