Я создал собственный класс, в котором я получаю parentViewController
и cardViewController
. Затем я добавляю blackView
(с 0,4 альфа) к keyWindow
, и на этом keyWindow
Я также добавляю cardViewController.view.
Дело в том, что он появляется изначально, но взаимодействие /жесты смахивания не работают при просмотре карты.
Вот код:
window = UIApplication.shared.keyWindow!
blackView.backgroundColor = UIColor.black
blackView.alpha = 0.4
window.addSubview(blackView)
blackView.frame = window.frame
blackView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(handleTapRecognizer)))
window.addSubview(cardViewController.view)
card.translatesAutoresizingMaskIntoConstraints = false
cardHeightConstraint = card.bottomAnchor.constraint(equalTo: window.bottomAnchor, constant: containerView.bounds.height - (self.headerHeight ?? 0))
card.leadingAnchor.constraint(equalTo: window.leadingAnchor).isActive = true
card.trailingAnchor.constraint(equalTo: window.trailingAnchor).isActive = true
card.heightAnchor.constraint(equalToConstant: containerView.bounds.height).isActive = true
cardHeightConstraint.isActive = true
Приведенный выше код вызывается при инициализации класса. Вот что я вижу:
Если я не добавлю blackView и не сделаю ничего, связанного с UIWindow, а просто добавлюcardViewController как дочерний элемент для parentViewController, все анимации и жесты карты работают как надо. Только когда карта добавляется в окно UIWindow, когда анимация и жест смахивания в представлении карты не работают.
Что мне с этим делать? Помощь будет оценена. (С использованием Xcode 11, iOS 13 +)