@@ -106,18 +106,22 @@ extension ConstraintConstantTarget {
106
106
if let value = self as? ConstraintInsets {
107
107
#if os(iOS) || os(tvOS)
108
108
switch layoutAttribute {
109
- case . left, . leftMargin, . centerX , . centerXWithinMargins :
109
+ case . left, . leftMargin:
110
110
return value. left
111
- case . top, . topMargin, . centerY , . centerYWithinMargins , . lastBaseline , . firstBaseline:
111
+ case . top, . topMargin, . firstBaseline:
112
112
return value. top
113
113
case . right, . rightMargin:
114
114
return - value. right
115
- case . bottom, . bottomMargin:
115
+ case . bottom, . bottomMargin, . lastBaseline :
116
116
return - value. bottom
117
117
case . leading, . leadingMargin:
118
118
return ( ConstraintConfig . interfaceLayoutDirection == . leftToRight) ? value. left : value. right
119
119
case . trailing, . trailingMargin:
120
120
return ( ConstraintConfig . interfaceLayoutDirection == . leftToRight) ? - value. right : - value. left
121
+ case . centerX, . centerXWithinMargins:
122
+ return ( value. left - value. right) / 2
123
+ case . centerY, . centerYWithinMargins:
124
+ return ( value. top - value. bottom) / 2
121
125
case . width:
122
126
return - ( value. left + value. right)
123
127
case . height:
@@ -131,18 +135,22 @@ extension ConstraintConstantTarget {
131
135
}
132
136
#else
133
137
switch layoutAttribute {
134
- case . left, . centerX :
138
+ case . left:
135
139
return value. left
136
- case . top, . centerY , . lastBaseline , . firstBaseline:
140
+ case . top, . firstBaseline:
137
141
return value. top
138
142
case . right:
139
143
return - value. right
140
- case . bottom:
144
+ case . bottom, . lastBaseline :
141
145
return - value. bottom
142
146
case . leading:
143
147
return ( ConstraintConfig . interfaceLayoutDirection == . leftToRight) ? value. left : value. right
144
148
case . trailing:
145
149
return ( ConstraintConfig . interfaceLayoutDirection == . leftToRight) ? - value. right : - value. left
150
+ case . centerX:
151
+ return ( value. left - value. right) / 2
152
+ case . centerY:
153
+ return ( value. top - value. bottom) / 2
146
154
case . width:
147
155
return - ( value. left + value. right)
148
156
case . height:
0 commit comments