Оказывается, намекает на https://stackoverflow.com/a/47255802/581164, задержка вызвана ожиданием iOS, если пользователь фактически выполняет системный жест (например, пролистывание в нижней части экрана) вместо нажатия кнопки.
Если я переопределю var preferredScreenEdgesDeferringSystemGestures: UIRectEdge
на контроллере корневого представления и установлю его на [.bottom, .right]
, задержки не будет.Я не знаю, почему [.bottom]
недостаточно, я думаю, есть какой-то другой жест iOS для смахивания от правого края экрана, а кнопка расположена в правом нижнем углу.
Всегда просто настройка [.bottom, .right]
имеет некоторые негативные последствия, пользователь должен провести два раза, чтобы выполнить жест iOS для нижнего жеста.
Ключ, кажется, устанавливает его только тогда, когда пользователь собирается нажать кнопку записи, как вfunc point(inside point: CGPoint, with event: UIEvent?) -> Bool
и затем установите его обратно, когда пользователь отпустит кнопку.