🔭
【SwiftUI】maxWidth vs maxWidth 観測隊
maxWidth vs maxWidthが、その値によって結果が変わることが発生し、この件の観測を行った。
観測環境
Xcode 16.0
コード
ForEach(1..<25, id: \.self) {i in
HStack {
Text("\(i * 20)")
.frame(maxWidth: CGFloat(i) * 20)
.border(.black)
Text("\(500 - i * 20)")
.frame(maxWidth: 500 - CGFloat(i * 20))
.border(.black)
}
}
結果
400 vs 100のときは100の方が確保されて400の方は削られる。
小さい方が優先される「お兄/姉ちゃんだから我慢しなさい」的な制御である。
考察
「我慢しなさい」と書いたが実際は
- 半分ずつが提案される
- 食べきれないものが残される
- 残されたものは余裕のある方に提案される
- 余裕のある方は提案を受け入れる
というものかと思われる。半分ずつが提案されて2人とも食べ切れる場合はそこで終わる。
Discussion