Camera and editor improvements

This commit is contained in:
Ilya Laktyushin
2023-06-25 23:57:08 +02:00
parent 6dbd76bf7a
commit f42de6eba9
3 changed files with 25 additions and 5 deletions

View File

@@ -124,12 +124,21 @@ public final class CameraButton: Component {
func update(component: CameraButton, availableSize: CGSize, state: EmptyComponentState, environment: Environment<Empty>, transition: Transition) -> CGSize {
if let currentId = self.component?.content.id, currentId != component.content.id {
self.contentView.removeFromSuperview()
let previousContentView = self.contentView
self.contentView = ComponentHostView<Empty>()
self.contentView.isUserInteractionEnabled = false
self.contentView.layer.allowsGroupOpacity = true
self.addSubview(self.contentView)
if transition.animation.isImmediate {
previousContentView.removeFromSuperview()
} else {
self.addSubview(previousContentView)
previousContentView.layer.animateAlpha(from: 1.0, to: 0.0, duration: 0.2, removeOnCompletion: false, completion: { [weak previousContentView] _ in
previousContentView?.removeFromSuperview()
})
}
}
let contentSize = self.contentView.update(
transition: transition,