mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-05 22:11:22 +00:00
Fix reaction search bar click through
This commit is contained in:
parent
8069dfa73a
commit
3cb03a9666
@ -217,7 +217,7 @@ public final class EmojiSearchHeaderView: UIView, UITextFieldDelegate {
|
|||||||
if let textField = self.textField, let text = textField.text, text.isEmpty {
|
if let textField = self.textField, let text = textField.text, text.isEmpty {
|
||||||
if self.bounds.contains(point), let placeholderContentView = self.placeholderContent.view as? EmojiSearchSearchBarComponent.View {
|
if self.bounds.contains(point), let placeholderContentView = self.placeholderContent.view as? EmojiSearchSearchBarComponent.View {
|
||||||
let leftTextPosition = placeholderContentView.leftTextPosition()
|
let leftTextPosition = placeholderContentView.leftTextPosition()
|
||||||
if point.x >= 0.0 && point.x <= placeholderContentView.frame.minX + leftTextPosition {
|
if point.x >= placeholderContentView.frame.minX + leftTextPosition {
|
||||||
if let result = placeholderContentView.hitTest(self.convert(point, to: placeholderContentView), with: event) {
|
if let result = placeholderContentView.hitTest(self.convert(point, to: placeholderContentView), with: event) {
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
@ -278,9 +278,6 @@ public final class EmojiSearchHeaderView: UIView, UITextFieldDelegate {
|
|||||||
textField.resignFirstResponder()
|
textField.resignFirstResponder()
|
||||||
textField.removeFromSuperview()
|
textField.removeFromSuperview()
|
||||||
}
|
}
|
||||||
|
|
||||||
/*self.tintTextView.view?.isHidden = false
|
|
||||||
self.textView.view?.isHidden = false*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@objc private func clearPressed() {
|
@objc private func clearPressed() {
|
||||||
@ -519,8 +516,20 @@ public final class EmojiSearchHeaderView: UIView, UITextFieldDelegate {
|
|||||||
if let term {
|
if let term {
|
||||||
self.update(transition: ComponentTransition(animation: .curve(duration: 0.4, curve: .spring)))
|
self.update(transition: ComponentTransition(animation: .curve(duration: 0.4, curve: .spring)))
|
||||||
|
|
||||||
|
let textField = self.textField
|
||||||
|
self.textField = nil
|
||||||
|
|
||||||
|
self.clearIconView.isHidden = true
|
||||||
|
self.clearIconTintView.isHidden = true
|
||||||
|
self.clearIconButton.isHidden = true
|
||||||
|
|
||||||
self.updateQuery(.category(value: term))
|
self.updateQuery(.category(value: term))
|
||||||
self.activated(false)
|
self.activated(false)
|
||||||
|
|
||||||
|
if let textField {
|
||||||
|
textField.resignFirstResponder()
|
||||||
|
textField.removeFromSuperview()
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
self.deactivated(self.textField?.isFirstResponder ?? false)
|
self.deactivated(self.textField?.isFirstResponder ?? false)
|
||||||
self.updateQuery(nil)
|
self.updateQuery(nil)
|
||||||
|
|||||||
@ -267,6 +267,8 @@ final class EmojiSearchSearchBarComponent: Component {
|
|||||||
private var highlightedItem: AnyHashable?
|
private var highlightedItem: AnyHashable?
|
||||||
private var selectedItem: AnyHashable?
|
private var selectedItem: AnyHashable?
|
||||||
|
|
||||||
|
private var disableInteraction: Bool = false
|
||||||
|
|
||||||
private lazy var hapticFeedback: HapticFeedback = {
|
private lazy var hapticFeedback: HapticFeedback = {
|
||||||
return HapticFeedback()
|
return HapticFeedback()
|
||||||
}()
|
}()
|
||||||
@ -421,10 +423,16 @@ final class EmojiSearchSearchBarComponent: Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? {
|
override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? {
|
||||||
guard let component = self.component else {
|
if self.disableInteraction {
|
||||||
|
for (_, itemView) in self.visibleItemViews {
|
||||||
|
if let itemComponentView = itemView.view.view {
|
||||||
|
if itemComponentView.bounds.contains(self.convert(point, to: itemComponentView)) {
|
||||||
|
return self
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
let _ = component
|
|
||||||
|
|
||||||
return super.hitTest(point, with: event)
|
return super.hitTest(point, with: event)
|
||||||
}
|
}
|
||||||
@ -714,10 +722,17 @@ final class EmojiSearchSearchBarComponent: Component {
|
|||||||
|
|
||||||
switch component.textInputState {
|
switch component.textInputState {
|
||||||
case let .active(hasText):
|
case let .active(hasText):
|
||||||
self.isUserInteractionEnabled = false
|
if hasText {
|
||||||
|
self.disableInteraction = false
|
||||||
|
self.isUserInteractionEnabled = false
|
||||||
|
} else {
|
||||||
|
self.disableInteraction = true
|
||||||
|
self.isUserInteractionEnabled = true
|
||||||
|
}
|
||||||
self.textView.view?.isHidden = hasText
|
self.textView.view?.isHidden = hasText
|
||||||
self.tintTextView.view?.isHidden = hasText
|
self.tintTextView.view?.isHidden = hasText
|
||||||
case .inactive:
|
case .inactive:
|
||||||
|
self.disableInteraction = false
|
||||||
self.isUserInteractionEnabled = true
|
self.isUserInteractionEnabled = true
|
||||||
self.textView.view?.isHidden = false
|
self.textView.view?.isHidden = false
|
||||||
self.tintTextView.view?.isHidden = false
|
self.tintTextView.view?.isHidden = false
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user