Прерывание пользовательского перехода в середине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. Однако не удалось найти способ отклонить его в середине перехода. Как мне это сделать?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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