Skip to content

Commit d227f99

Browse files
committed
Attempt to fix #31
1 parent 6dc1e0b commit d227f99

1 file changed

Lines changed: 5 additions & 3 deletions

File tree

Sources/Flow/Internal/Layout.swift

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -152,13 +152,15 @@ struct FlowLayout: Sendable {
152152
cache: FlowLayoutCache
153153
) -> Lines {
154154
let items: LineBreakingInput = subviews.enumerated().map { offset, subview in
155-
let size: ClosedRange<CGFloat>
155+
let minValue: CGFloat
156156
let subviewCache = cache.subviewsCache[offset]
157157
if subviewCache.ideal.breadth <= proposedSize.value(on: axis) {
158-
size = subviewCache.ideal.breadth ... subviewCache.max.breadth
158+
minValue = subviewCache.ideal.breadth
159159
} else {
160-
size = subview.sizeThatFits(proposedSize).value(on: axis) ... subviewCache.max.breadth
160+
minValue = subview.sizeThatFits(proposedSize).value(on: axis)
161161
}
162+
let maxValue = subviewCache.max.breadth
163+
let size = min(minValue, maxValue) ... max(minValue, maxValue)
162164
let spacing = itemSpacing ?? (
163165
offset > cache.subviewsCache.startIndex
164166
? cache.subviewsCache[offset - 1].spacing.distance(to: subviewCache.spacing, along: axis)

0 commit comments

Comments
 (0)