more constants

Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
Matt Bruce 2022-12-02 13:29:58 -06:00
parent 91b0b4415c
commit 178df4ed0a
2 changed files with 21 additions and 10 deletions

View File

@ -97,11 +97,15 @@ struct ButtonGroupConstants {
} }
//text link caret //text link caret
else if let _ = primary as? TextLinkCaret { else if let _ = primary as? TextLinkCaret {
if let _ = neighboring as? TextLinkCaret { if let neighboringButton = neighboring as? Button, neighboringButton.size == .large {
return 24.0 return 16.0
} else { } else if let _ = neighboring as? TextLinkCaret {
return defaultSpace return 24.0
} } else if let neighboringTextLink = neighboring as? TextLink, neighboringTextLink.size == .large {
return 24.0
} else {
return defaultSpace
}
} }
//small button //small button
else if let button = primary as? Button, button.size == .small { else if let button = primary as? Button, button.size == .small {
@ -117,6 +121,8 @@ struct ButtonGroupConstants {
else if let textLink = primary as? TextLink, textLink.size == .small { else if let textLink = primary as? TextLink, textLink.size == .small {
if let neighboringTextLink = neighboring as? TextLink, neighboringTextLink.size == .small { if let neighboringTextLink = neighboring as? TextLink, neighboringTextLink.size == .small {
return 32.0 return 32.0
} else if let neighboringButton = neighboring as? Button, neighboringButton.size == .small {
return 24.0
} else { } else {
return defaultSpace return defaultSpace
} }

View File

@ -32,6 +32,11 @@ class ButtonCollectionViewRow {
attributes.compactMap{$0.frame.height}.max() ?? 0 attributes.compactMap{$0.frame.height}.max() ?? 0
} }
var maxHeightIndexPath: IndexPath {
let maxHeight = rowHeight
return attributes.first(where: {$0.frame.height == maxHeight})!.indexPath
}
var rowY: CGFloat = 0 { var rowY: CGFloat = 0 {
didSet { didSet {
for attribute in attributes { for attribute in attributes {
@ -179,10 +184,7 @@ class ButtonGroupPositionLayout: UICollectionViewLayout {
} }
layoutWidthIterator = 0.0 layoutWidthIterator = 0.0
// recalculate rows x based off of positions
rows.forEach { $0.layout(for: position, with: collectionViewWidth) }
// calculate the // calculate the
layoutHeight = 0.0 layoutHeight = 0.0
@ -194,7 +196,7 @@ class ButtonGroupPositionLayout: UICollectionViewLayout {
var rowSpacing = 0.0 var rowSpacing = 0.0
if item > 0 { if item > 0 {
rowSpacing = row.hasButtons ? ButtonGroupConstants.rowSpacingButton : ButtonGroupConstants.rowSpacingTextLink rowSpacing = 12.0
row.rowY = layoutHeight + rowSpacing row.rowY = layoutHeight + rowSpacing
layoutHeight += rowSpacing layoutHeight += rowSpacing
} }
@ -202,6 +204,9 @@ class ButtonGroupPositionLayout: UICollectionViewLayout {
layoutHeight += row.rowHeight layoutHeight += row.rowHeight
} }
// recalculate rows x based off of positions
rows.forEach { $0.layout(for: position, with: collectionViewWidth) }
let rowAttributes = rows.flatMap { $0.attributes } let rowAttributes = rows.flatMap { $0.attributes }
itemCache = rowAttributes itemCache = rowAttributes