TL:DR
对于大字体,Picker
中的行是重叠的。如何更改Picker's
行高? (提示:.lineSpacing
修饰符不起作用。)
另见
此问题与Ejaaz的问题相似,但到目前为止他的答案尚未得到答案。
问题
代码
以下可运行代码产生以上结果。我并不是真的想要不同大小的线条,我只是想要大字体适合。我尝试插入Spacers
,并在其中添加.frame
修饰符,.lineSpacing
,padding()
...也许只是找不到正确的组合?
struct ContentView: View {
@State private var selected = 0
var body: some View {
Picker(selection: self.$selected, label: Text("Letters")) {
Text("A").font(.system(size: 30))
Text("B").font(.system(size: 40))
Text("C").font(.system(size: 50))
Text("D").font(.system(size: 60))
Text("E").font(.system(size: 70))
Text("F").font(.system(size: 80))
}
}
}
您必须将UIPickerView包装在UIVieweRepresentable中,然后使用
func rowSize(forComponent: Int) -> CGSize
更改行高。