Various fixes

This commit is contained in:
Ilya Laktyushin 2025-06-24 07:35:35 +02:00
parent 212164b072
commit 34372148fb
3 changed files with 20 additions and 9 deletions

View File

@ -87,6 +87,12 @@ public extension ComponentTransition.Update {
transition.setBounds(view: view, bounds: CGRect(origin: CGPoint(), size: size))
transition.setPosition(view: view, position: position)
transition.setScale(view: view, scale: scale)
} else {
if view is UIScrollView {
let frame = component.size.centered(around: component._position ?? CGPoint())
if view.frame != frame {
transition.setFrame(view: view, frame: frame)
}
} else {
if component._anchorPoint != nil {
view.bounds = CGRect(origin: CGPoint(), size: size)
@ -95,6 +101,7 @@ public extension ComponentTransition.Update {
}
transition.setPosition(view: view, position: position)
}
}
let opacity = component._opacity ?? 1.0
if view.alpha != opacity {
transition.setAlpha(view: view, alpha: opacity)

View File

@ -723,6 +723,9 @@ public extension CombinedComponent {
updatedChild.view.bounds = CGRect(origin: CGPoint(), size: updatedChild.size)
updatedChild.view.center = updatedChild._position ?? CGPoint()
updatedChild.view.transform = CGAffineTransform(scaleX: scale, y: scale)
} else {
if updatedChild.view is UIScrollView {
updatedChild.view.frame = updatedChild.size.centered(around: updatedChild._position ?? CGPoint())
} else {
updatedChild.view.bounds = CGRect(origin: CGPoint(), size: updatedChild.size)
if updatedChild.view.layer.anchorPoint != CGPoint(x: 0.5, y: 0.5) {
@ -731,6 +734,7 @@ public extension CombinedComponent {
updatedChild.view.center = updatedChild._position ?? CGPoint()
}
}
}
updatedChild.view.alpha = updatedChild._opacity ?? 1.0
updatedChild.view.clipsToBounds = updatedChild._clipsToBounds ?? false