16 macos user-interface button swift swiftui
正如您在屏幕截图中看到的那样,按钮高度不会调整以适应文本大小,因此看起来很难看。我怎样才能增加按钮的高度,所以它看起来并不愚蠢。我的问题是,如何增加 SwiftUI 中按钮的高度?我正在尝试制作类似 Minecraft 的游戏的标题画面。
struct ContentView: View {
var body: some View {
GeometryReader { geometry in
VStack (spacing: 8) {
Text("[Name not disclosed]Craft").font(.system(size: geometry.size.width/8))
Button(action: {
}) {
Text("Singleplayer").font(.system(size: geometry.size.width/20))
.frame(minWidth: geometry.size.width/2)
}
Button(action: {
}) {
Text("Multiplayer").font(.system(size: geometry.size.width/20))
.frame(minWidth: geometry.size.width/2)
}
HStack (spacing: 8) {
Button(action: {
}) {
Text("Options").font(.system(size: geometry.size.width/20))
.frame(minWidth: (geometry.size.width/4)-16)
}
Button(action: {
exit(EXIT_SUCCESS);
}) {
Text("Quit Game").font(.system(size: geometry.size.width/20))
.frame(minWidth: (geometry.size.width/4)-16)
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
Asp*_*eri 16
您只需要根据需要设置PlainButtonStyle和绘制它...
例如,这是您的按钮之一:
Button(action: {
}) {
Text("Singleplayer").font(.system(size: geometry.size.width/20))
.padding()
.background(RoundedRectangle(cornerRadius: 8).fill(Color.blue))
.frame(minWidth: geometry.size.width/2)
}
.buttonStyle(PlainButtonStyle())
Run Code Online (Sandbox Code Playgroud)

Roh*_*ana 10
请尝试以下代码:
Button(action: {
//do action
}) {
Text("SIGN IN")
.frame(width: 200 , height: 50, alignment: .center)
//You need to change height & width as per your requirement
}
.background(Color.blue)
.foregroundColor(Color.white)
.cornerRadius(5)
Run Code Online (Sandbox Code Playgroud)
如果您只需要一个标题,请使用更简单的初始化程序Button:
Button("Click me") {
// Perform action here
}
.frame(width: 100, height: 100)
.background(Color.yellow)
Run Code Online (Sandbox Code Playgroud)
请注意, frame修饰符必须放在前面background以使其看起来更大。否则,你看不出区别。
您需要更改堆栈的高度
struct ContentView: View {
@State private var arr = ["String"]
var body: some View {
GeometryReader { geometry in
VStack (spacing: 8) {
Text("[Name not disclosed]Craft").font(.system(size: geometry.size.width/8))
Button(action: {
}) {
Text("Singleplayer").font(.system(size: geometry.size.width/20))
.frame(minWidth: geometry.size.width/2)
}
Button(action: {
}) {
Text("Multiplayer").font(.system(size: geometry.size.width/20))
.frame(minWidth: geometry.size.width/2)
}
HStack (spacing: 8) {
Button(action: {
}) {
Text("Options").font(.system(size: geometry.size.width/20))
.frame(minWidth: (geometry.size.width/4)-16)
}
Button(action: {
exit(EXIT_SUCCESS);
}) {
Text("Quit Game").font(.system(size: geometry.size.width/20))
.frame(minWidth: (geometry.size.width/4)-16)
}
} .frame(width: 100, height: 100, alignment: .leading) .background(Color.red)
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12585 次 |
| 最近记录: |