uiviewcontroller меньшего размера - PullRequest
0 голосов
/ 10 ноября 2018

Я новичок в разработке для iOS и пытаюсь сделать собственный тост, используя UIViewController меньшего размера и представляя его модально. Я хочу, чтобы при представлении контроллера представления фоновый экран оставался отзывчивым (активируемым / прокручиваемым), но в данный момент фоновый экран перестает отвечать до тех пор, пока представленный контроллер представления не будет отклонен. Любая помощь в правильном направлении будет принята с благодарностью. Спасибо!

Редактировать 1: Это функция внутри NotificationToastViewController, которая вызывается для отображения тоста.

class func popup(with presentable: NotificationToastPresentable, onViewDidAppear: (() -> ())? = nil, onDismiss: ((CloseStatus) -> ())? = nil, bool1: Bool = false, bool2: Bool = false) {
    let popupViewController = NotificationToastViewController()
    popupViewController.modalTransitionStyle = .crossDissolve
    popupViewController.modalPresentationStyle = .overCurrentContext
    let _ = popupViewController.view
    popupViewController.configureWith(presentable)
    popupViewController.onViewDidAppear = onViewDidAppear
    popupViewController.onDismiss = onDismiss

    if bool1 {
        popupViewController.statusLabelConstraintToBottom?.constant = 12.0
        popupViewController.statusLabelLeadingConstraint?.constant = 10.0
        popupViewController.statusLabelConstraintWithIcon?.isActive = false
    } else {
        popupViewController.statusLabelConstraintToBottom?.isActive = false
        popupViewController.statusLabelLeadingConstraint?.isActive = false
    }

    if bool2 {
        popupViewController.heightConstrainOfCtaButton?.isActive = false
    }
    UIApplication.shared.topMostViewController()?.present(popupViewController, animated: true)
}

Это иерархия представления в xib: This is the view hierarchy in the xib:

1 Ответ

0 голосов
/ 10 ноября 2018

Вы можете сделать что-то подобное:

var vc = SecondController()
    self.addChild(vc)
    self.view.addSubview(vc.view!)
    vc.view.translatesAutoresizingMaskIntoConstraints = false
    vc.view.leftAnchor.constraint(equalTo: self.view.leftAnchor, constant: 200).isActive = true
    vc.view.topAnchor.constraint(equalTo: self.view.topAnchor, constant: 300).isActive = true
    vc.view.bottomAnchor.constraint(equalTo: self.view.bottomAnchor, constant: 0).isActive = true
    vc.view.rightAnchor.constraint(equalTo: self.view.rightAnchor, constant: 0).isActive = true

Где SecondViewController - это другой класс ViewController, который вы должны добавить в качестве дочернего контроллера к своему домашнему контроллеру, а затем установить ограничения для представления второго контроллера. Я считаю, что результатом такой реализации является то, чего вы пытаетесь достичь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...