Skip to content

Commit 0347945

Browse files
committed
Fix layout inconsistency bug
1 parent 2c931f9 commit 0347945

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

Sources/GateEngine/UI/Layout.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ public struct Layout {
106106
}
107107
if target == target.view.trailingAnchor {
108108
computed = Value.Computed(
109-
value: targetWidth.value + targetX - sourceWidth.value - hPosition.constant
109+
value: targetWidth.value + targetX - sourceWidth.value + hPosition.constant
110110
)
111111
break
112112
}
@@ -214,7 +214,7 @@ public struct Layout {
214214
}
215215
if target == target.view.bottomAnchor {
216216
computed = Value.Computed(
217-
value: targetY + targetHeight.value - height.value - vPosition.constant
217+
value: targetY + targetHeight.value - height.value + vPosition.constant
218218
)
219219
break
220220
}

Sources/GateEngine/UI/View.swift

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -711,25 +711,35 @@ public extension View {
711711

712712
switch constrainHorizontal {
713713
case .fill:
714+
view.layoutConstraints.removeAllHorizontalPositionConstraints()
715+
view.layoutConstraints.removeAllHorizontalSizeConstraints()
714716
view.leadingAnchor.constrain(insets.leading, from: self.leadingAnchor)
715717
view.trailingAnchor.constrain(-insets.trailing, from: self.trailingAnchor)
716718
case .pinLeading:
719+
view.layoutConstraints.removeAllHorizontalPositionConstraints()
717720
view.leadingAnchor.constrain(insets.leading, from: self.leadingAnchor)
718721
case .pinTrailing:
722+
view.layoutConstraints.removeAllHorizontalPositionConstraints()
719723
view.trailingAnchor.constrain(-insets.trailing, from: self.trailingAnchor)
720724
case .center:
725+
view.layoutConstraints.removeAllHorizontalPositionConstraints()
721726
view.centerXAnchor.constrain(to: self.centerXAnchor)
722727
}
723728

724729
switch constrainVertical {
725730
case .fill:
731+
view.layoutConstraints.removeAllVerticalPositionConstraints()
732+
view.layoutConstraints.removeAllVerticalSizeConstraints()
726733
view.topAnchor.constrain(insets.top, from: self.topAnchor)
727734
view.bottomAnchor.constrain(-insets.bottom, from: self.bottomAnchor)
728735
case .pinTop:
736+
view.layoutConstraints.removeAllVerticalPositionConstraints()
729737
view.topAnchor.constrain(insets.top, from: self.topAnchor)
730738
case .pinBottom:
739+
view.layoutConstraints.removeAllVerticalPositionConstraints()
731740
view.bottomAnchor.constrain(-insets.bottom, from: self.bottomAnchor)
732741
case .center:
742+
view.layoutConstraints.removeAllVerticalPositionConstraints()
733743
view.centerYAnchor.constrain(to: self.centerYAnchor)
734744
}
735745
}

0 commit comments

Comments
 (0)