mirror of
https://github.com/TelegramMessenger/Telegram-iOS.git
synced 2026-07-06 03:33:41 +02:00
Fix hit test
This commit is contained in:
parent
e5d948d90a
commit
45a39e4d47
2 changed files with 46 additions and 31 deletions
|
|
@ -427,6 +427,18 @@ public final class StoryItemSetContainerComponent: Component {
|
|||
}
|
||||
}
|
||||
|
||||
if let centerInfoItemView = self.centerInfoItem?.view.view {
|
||||
if centerInfoItemView.convert(centerInfoItemView.bounds, to: self).contains(point) {
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
if let rigthInfoItemView = self.rightInfoItem?.view.view {
|
||||
if rigthInfoItemView.convert(rigthInfoItemView.bounds, to: self).contains(point) {
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
if self.contentContainerView.frame.contains(point) {
|
||||
return true
|
||||
}
|
||||
|
|
@ -1733,6 +1745,36 @@ public final class StoryItemSetContainerComponent: Component {
|
|||
}
|
||||
}
|
||||
|
||||
if let currentCenterInfoItem {
|
||||
self.centerInfoItem = currentCenterInfoItem
|
||||
|
||||
let centerInfoItemSize = currentCenterInfoItem.view.update(
|
||||
transition: .immediate,
|
||||
component: AnyComponent(PlainButtonComponent(content: currentCenterInfoItem.component, effectAlignment: .center, action: { [weak self] in
|
||||
guard let self, let component = self.component else {
|
||||
return
|
||||
}
|
||||
self.navigateToPeer(peer: component.slice.peer)
|
||||
})),
|
||||
environment: {},
|
||||
containerSize: CGSize(width: contentFrame.width, height: 44.0)
|
||||
)
|
||||
if let view = currentCenterInfoItem.view.view {
|
||||
var animateIn = false
|
||||
if view.superview == nil {
|
||||
self.contentContainerView.addSubview(view)
|
||||
animateIn = true
|
||||
}
|
||||
transition.setFrame(view: view, frame: CGRect(origin: CGPoint(x: 0.0, y: 10.0), size: centerInfoItemSize))
|
||||
|
||||
if animateIn, !isFirstTime {
|
||||
//view.layer.animateAlpha(from: 0.0, to: 1.0, duration: 0.2)
|
||||
}
|
||||
|
||||
transition.setAlpha(view: view, alpha: (component.hideUI || self.displayViewList) ? 0.0 : 1.0)
|
||||
}
|
||||
}
|
||||
|
||||
if let currentRightInfoItem {
|
||||
self.rightInfoItem = currentRightInfoItem
|
||||
|
||||
|
|
@ -1764,37 +1806,6 @@ public final class StoryItemSetContainerComponent: Component {
|
|||
}
|
||||
}
|
||||
|
||||
if let currentCenterInfoItem {
|
||||
self.centerInfoItem = currentCenterInfoItem
|
||||
|
||||
let centerInfoItemSize = currentCenterInfoItem.view.update(
|
||||
transition: .immediate,
|
||||
component: AnyComponent(PlainButtonComponent(content: currentCenterInfoItem.component, effectAlignment: .center, action: { [weak self] in
|
||||
guard let self, let component = self.component else {
|
||||
return
|
||||
}
|
||||
self.navigateToPeer(peer: component.slice.peer)
|
||||
})),
|
||||
environment: {},
|
||||
containerSize: CGSize(width: contentFrame.width, height: 44.0)
|
||||
)
|
||||
if let view = currentCenterInfoItem.view.view {
|
||||
var animateIn = false
|
||||
if view.superview == nil {
|
||||
view.isUserInteractionEnabled = false
|
||||
self.contentContainerView.addSubview(view)
|
||||
animateIn = true
|
||||
}
|
||||
transition.setFrame(view: view, frame: CGRect(origin: CGPoint(x: 0.0, y: 10.0), size: centerInfoItemSize))
|
||||
|
||||
if animateIn, !isFirstTime {
|
||||
//view.layer.animateAlpha(from: 0.0, to: 1.0, duration: 0.2)
|
||||
}
|
||||
|
||||
transition.setAlpha(view: view, alpha: (component.hideUI || self.displayViewList) ? 0.0 : 1.0)
|
||||
}
|
||||
}
|
||||
|
||||
let gradientHeight: CGFloat = 74.0
|
||||
transition.setFrame(layer: self.topContentGradientLayer, frame: CGRect(origin: CGPoint(x: 0.0, y: 0.0), size: CGSize(width: contentFrame.width, height: gradientHeight)))
|
||||
transition.setAlpha(layer: self.topContentGradientLayer, alpha: (component.hideUI || self.displayViewList) ? 0.0 : 1.0)
|
||||
|
|
|
|||
|
|
@ -43,6 +43,8 @@ final class StoryAuthorInfoComponent: Component {
|
|||
|
||||
override init(frame: CGRect) {
|
||||
super.init(frame: frame)
|
||||
|
||||
self.isUserInteractionEnabled = false
|
||||
}
|
||||
|
||||
required init?(coder: NSCoder) {
|
||||
|
|
@ -88,12 +90,14 @@ final class StoryAuthorInfoComponent: Component {
|
|||
|
||||
if let titleView = self.title.view {
|
||||
if titleView.superview == nil {
|
||||
titleView.isUserInteractionEnabled = false
|
||||
self.addSubview(titleView)
|
||||
}
|
||||
transition.setFrame(view: titleView, frame: titleFrame)
|
||||
}
|
||||
if let subtitleView = self.subtitle.view {
|
||||
if subtitleView.superview == nil {
|
||||
subtitleView.isUserInteractionEnabled = false
|
||||
self.addSubview(subtitleView)
|
||||
}
|
||||
transition.setFrame(view: subtitleView, frame: subtitleFrame)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue