UIHostingController を使用して UIKit コードから表示するアラート ポップアップのようなものを作成するために SwiftUI を使用しています。ビューは次のようになります。
VStack(spacing: 0) {
// Some text ...
HStack(spacing:0) {
Button(action: self.onCancel) { Text("Cancel") }
.padding().inExpandingRectangle().fixedSize(horizontal: false, vertical: true)
// This divider is the problem
Divider() // .fixedSize()
Button(action: self.onDelete) { Text("Delete") }
.padding().inExpandingRectangle().fixedSize(horizontal: false, vertical: true)
}
}.frame(minHeight: 0)
これinExpandingRectangle
は、別のスタックオーバーフローの質問で見つけたものです。HStack の両側でテキストを中央揃えにします。
extension View {
func inExpandingRectangle() -> some View {
ZStack {
Rectangle().fill(Color.clear)
self
}
}
}
このように見えます。ごみ。
.fixedSize()
仕切りの上に置くと、これが行われます。ひどいわけではありませんが、仕切りは見栄えが悪く、ボタンのサイズまで拡大しません.