make inputAccessoryBar delete button easier to tap
This commit is contained in:
1 parent
d28573dcd4
commit
9d2df484d1
1 file changed
+13
-1
@@ -41,6 +41,7 @@ private enum InputAccessoryBarMetrics {
|
|||||||
static let releaseDuration: TimeInterval = 0.18
|
static let releaseDuration: TimeInterval = 0.18
|
||||||
static let reorderAnimationDuration: TimeInterval = 0.2
|
static let reorderAnimationDuration: TimeInterval = 0.2
|
||||||
static let deleteButtonSize: CGFloat = 22
|
static let deleteButtonSize: CGFloat = 22
|
||||||
|
static let deleteButtonHitExpansion: CGFloat = 10
|
||||||
static let dragScale: CGFloat = 1.06
|
static let dragScale: CGFloat = 1.06
|
||||||
static let dragLiftY: CGFloat = -2
|
static let dragLiftY: CGFloat = -2
|
||||||
static let editOverlayDimAlpha: CGFloat = 0.001
|
static let editOverlayDimAlpha: CGFloat = 0.001
|
||||||
@@ -48,6 +49,17 @@ private enum InputAccessoryBarMetrics {
|
|||||||
static let edgeAutoScrollStep: CGFloat = 6
|
static let edgeAutoScrollStep: CGFloat = 6
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@available(iOS 13.0, *)
|
||||||
|
private final class InputAccessoryDeleteButton: UIButton {
|
||||||
|
override func point(inside point: CGPoint, with event: UIEvent?) -> Bool {
|
||||||
|
let expandedBounds = bounds.insetBy(
|
||||||
|
dx: -InputAccessoryBarMetrics.deleteButtonHitExpansion,
|
||||||
|
dy: -InputAccessoryBarMetrics.deleteButtonHitExpansion
|
||||||
|
)
|
||||||
|
return expandedBounds.contains(point)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@available(iOS 13.0, *)
|
@available(iOS 13.0, *)
|
||||||
private struct InputAccessoryBarButtonRecord {
|
private struct InputAccessoryBarButtonRecord {
|
||||||
let buttonLabel: String
|
let buttonLabel: String
|
||||||
@@ -396,7 +408,7 @@ private final class InputAccessoryCapsuleButton: UIButton {
|
|||||||
@available(iOS 13.0, *)
|
@available(iOS 13.0, *)
|
||||||
private final class InputAccessoryBarItemView: UIView {
|
private final class InputAccessoryBarItemView: UIView {
|
||||||
let button: InputAccessoryCapsuleButton
|
let button: InputAccessoryCapsuleButton
|
||||||
let deleteButton = UIButton(type: .system)
|
let deleteButton = InputAccessoryDeleteButton(type: .system)
|
||||||
var deleteHandler: (() -> Void)?
|
var deleteHandler: (() -> Void)?
|
||||||
|
|
||||||
init(title: String) {
|
init(title: String) {
|
||||||
|
|||||||
Reference in new issue
Block a user