Прерывание пользовательского перехода в серединеIOS

Программируем под IOS
Anonymous
Прерывание пользовательского перехода в середине

Сообщение Anonymous »


При попытке реализовать собственную анимацию перехода я застрял в части прерывания. Я хочу сделать следующее: нажав dimmingView во время перехода, он должен быть отменен и представлен контроллер представления закрыт.

Это мой затемненный взгляд:

класс UIDimmingView: UIView { переопределить func hitTest (_ точка: CGPoint, с событием: UIEvent?) -> UIView? { let hitView = super.hitTest(точка, с событием) вернуть hitView == себя? ноль: hitView } } Вот как я создаю и назначаю распознаватель жестов касания для моего затемняемого представления:

lazy var dimmingView: UIDimmingView = { пусть просмотр = UIDimmingView() view.backgroundColor = .black.withAlphaComponent(0.4) просмотр.альфа = 0,0 обратный вид }() переопределить funcpresentationTransitionWillBegin() { Guard пустьContainerView, пусть PresentView еще {возвращение} ContainerView.addGestureRecouncer(self.tapGesture) ContainerView.insertSubview(self.dimmingView, at: 0) self.dimmingView.fillSuperview() PresentView.layer.cornerRadius = 20,0 PresentView.layer.cornerCurve = .continious PresentView.layer.masksToBounds = true } И просто, событие onTap, я делаю это:

@objc Private func onTap(_ sender: UITapGestureRecouncer) { self.presentedViewController.dismiss (анимированный: правда) } Окончательный результат выглядит так.

Я посмотрел в Google, спросил ChatGPT. Однако не удалось найти способ отклонить его в середине перехода. Как мне это сделать?

Вернуться в «IOS»