Fixed context menu buttons not firing events while in landscape with keyboard on screen

This commit is contained in:
Ilya Laktyushin 2018-11-11 22:21:44 +04:00
parent 53d47c7851
commit df55d0269d

View File

@ -1,11 +1,21 @@
import Foundation import Foundation
import AsyncDisplayKit import AsyncDisplayKit
final private class ContextMenuActionButton: HighlightTrackingButton {
override func convert(_ point: CGPoint, from view: UIView?) -> CGPoint {
if view is UIWindow {
return super.convert(point, from: nil)
} else {
return super.convert(point, from: view)
}
}
}
final class ContextMenuActionNode: ASDisplayNode { final class ContextMenuActionNode: ASDisplayNode {
private let textNode: ASTextNode? private let textNode: ASTextNode?
private let iconNode: ASImageNode? private let iconNode: ASImageNode?
private let action: () -> Void private let action: () -> Void
private let button: HighlightTrackingButton private let button: ContextMenuActionButton
var dismiss: (() -> Void)? var dismiss: (() -> Void)?
@ -30,7 +40,7 @@ final class ContextMenuActionNode: ASDisplayNode {
} }
self.action = action.action self.action = action.action
self.button = HighlightTrackingButton() self.button = ContextMenuActionButton()
super.init() super.init()