如何在 SwiftUI 中调整选择器视图的大小?我需要更改它占用的宽度。我下面的代码只是一个简单的视图,里面有一个选择器。更改宽度参数不会更改选择器视图的宽度。
struct CalibrationBar: View {
@State var tone = Int()
var body: some View{
HStack{
Button(action: {
playTone(tone: self.tone, amp: 50, stop: true)
}) {
Text("50 dB")
}
.frame(width: 60.0)
Picker(selection: .constant(1), label: Text("")) {
Text("+0").tag(1)
Text("+2").tag(2)
Text("+4").tag(3)
}
.clipped()
.frame(minWidth: 0, maxWidth: 100)
.labelsHidden()
}
}
}
Run Code Online (Sandbox Code Playgroud) 在我的代码下面,我有一个设置,其中有 4 个按钮,每次我按下一个按钮时,它都充当一个切换按钮(就像一个单选按钮)。我想要实现的是在按下其中一个按钮时将所有其他按钮变为灰色。一次只能有一个按钮为绿色或处于活动状态。
struct hzButton: View {
var text: String
@State var didTap: Bool
var body: some View {
Button(action: {
if self.didTap == true{
self.didTap = false
}else{
self.didTap = true
}
selectFreq(frequency: self.text)
}) {
Text(text)
.font(.body)
.fontWeight(.semibold)
.foregroundColor(Color.white)
.multilineTextAlignment(.center)
.padding(.all)
.background(didTap ? Color.green : Color.gray)
.cornerRadius(6.0)
}
.frame(width: nil)
}
}
struct Row: Identifiable {
let id = UUID()
let headline: String
let numbers: [String]
}
struct ContentView: View {
var rows = [
Row(headline: "", numbers: …Run Code Online (Sandbox Code Playgroud) 我正在尝试在这样的环中绘制圆形按钮。
我有 6 个 UI 按钮,它们的圆角半径都是 360 度,我试图在 Swift 中做的是将它们均匀地绘制在中心按钮/点周围,就像上图一样。每个圆与其相邻圆的间距相等。实现此功能的最佳方法是什么?我应该创建一条贝塞尔曲线,然后使用数学来绘制该曲线周围的按钮,还是您会建议其他方法?
附带说明的是,我并不是在寻找任何类型的径向菜单,不需要动画。我只是想按照上面的格式绘制现有的 UI 按钮。
谢谢!