@@ -143,7 +143,7 @@ extension VStackLayer {
143143 let unspacerViews = viewsWithoutSpacer ( )
144144 let spacersCount = spacerLayers ( ) . map ( { isSpacerBetweenInTwoLayers ( spacerLayer: $0) } ) . filter ( { $0 } ) . count
145145 let number = unspacerViews. count - spacersCount - 1
146- return Swift . max ( 0 , ( frame . height - viewsHeight( ) - lengthOfAllFixedLengthSpacer( ) ) / CGFloat( max ( 1 , number) ) )
146+ return Swift . max ( 0 , ( _stackContentRect . height - viewsHeight( ) - lengthOfAllFixedLengthSpacer( ) ) / CGFloat( max ( 1 , number) ) )
147147 }
148148
149149 private func viewsHeight( ) -> CGFloat {
@@ -183,7 +183,7 @@ extension VStackLayer {
183183 ///
184184 /// 填充高度, 所有视图(排除 spacer)高度一致
185185 private func fillHeight( ) {
186- let maxH = frame . height - lengthOfAllFixedLengthSpacer( ) - lengthOfAllFixedLengthDivier( )
186+ let maxH = _stackContentRect . height - lengthOfAllFixedLengthSpacer( ) - lengthOfAllFixedLengthDivier( )
187187 var h = ( maxH) / CGFloat( viewsWithoutSpacerAndDivider ( ) . count)
188188
189189 let unspacersView = viewsWithoutSpacerAndDivider ( )
@@ -197,7 +197,7 @@ extension VStackLayer {
197197extension VStackLayer {
198198
199199 private func fillDivider( ) {
200- let maxWidth = effectiveSublayers. filter ( { ( $0 as? DividerLayer ) == nil } ) . map ( { $0. frame. size. width } ) . max ( ) ?? frame . width
200+ let maxWidth = effectiveSublayers. filter ( { ( $0 as? DividerLayer ) == nil } ) . map ( { $0. frame. size. width } ) . max ( ) ?? _stackContentRect . width
201201 for divider in effectiveSublayers. compactMap ( { $0 as? DividerLayer } ) {
202202 var maxLength = divider. maxLength
203203 if maxLength == . greatestFiniteMagnitude {
@@ -251,7 +251,7 @@ extension VStackLayer {
251251 }
252252
253253 let unspacerViewsMaxHeight = unspacerViewsHeight + unspacerViewsSpacing
254- let spacersHeight = ( frame . height - unspacerViewsMaxHeight - self . lengthOfAllFixedLengthSpacer ( ) )
254+ let spacersHeight = ( _stackContentRect . height - unspacerViewsMaxHeight - self . lengthOfAllFixedLengthSpacer ( ) )
255255 let spacerWidth = spacersHeight / CGFloat( self . dynamicSpacerLayers ( ) . count)
256256
257257 let spacerViews = self . spacerLayers ( )
0 commit comments