Various improvements

This commit is contained in:
Ilya Laktyushin
2022-07-08 14:30:49 +02:00
parent 0c2f2ec1b7
commit 9d41d0f110
13 changed files with 510 additions and 123 deletions

View File

@@ -1190,8 +1190,21 @@ public final class MediaStreamComponentController: ViewControllerComponentContai
view.expandFromPictureInPicture()
}
if let validLayout = self.validLayout {
self.view.clipsToBounds = true
self.view.layer.cornerRadius = validLayout.deviceMetrics.screenCornerRadius
if #available(iOS 13.0, *) {
self.view.layer.cornerCurve = .continuous
}
self.view.layer.animatePosition(from: CGPoint(x: 353.0, y: 117.0), to: self.view.center, duration: 0.3, timingFunction: kCAMediaTimingFunctionSpring, completion: { [weak self] _ in
self?.view.layer.cornerRadius = 0.0
})
self.view.layer.animateScale(from: 0.001, to: 1.0, duration: 0.3, timingFunction: kCAMediaTimingFunctionSpring)
}
self.view.layer.allowsGroupOpacity = true
self.view.layer.animateAlpha(from: 0.0, to: 1.0, duration: 0.25, completion: { [weak self] _ in
self.view.layer.animateAlpha(from: 0.0, to: 1.0, duration: 0.2, completion: { [weak self] _ in
guard let strongSelf = self else {
return
}
@@ -1226,6 +1239,18 @@ public final class MediaStreamComponentController: ViewControllerComponentContai
strongSelf.view.layer.allowsGroupOpacity = false
strongSelf.dismissImpl(completion: completion)
})
if let validLayout = self.validLayout {
self.view.clipsToBounds = true
self.view.layer.cornerRadius = validLayout.deviceMetrics.screenCornerRadius
if #available(iOS 13.0, *) {
self.view.layer.cornerCurve = .continuous
}
self.view.layer.animatePosition(from: self.view.center, to: CGPoint(x: 353.0, y: 117.0), duration: 0.3, timingFunction: kCAMediaTimingFunctionSpring, completion: { _ in
})
self.view.layer.animateScale(from: 1.0, to: 0.001, duration: 0.3, timingFunction: kCAMediaTimingFunctionSpring)
}
}
private func dismissImpl(completion: (() -> Void)? = nil) {