SwiftUI:设置选取器行高

问题描述 投票:0回答:1

TL:DR

对于大字体,Picker中的行是重叠的。如何更改Picker's行高? (提示:.lineSpacing修饰符不起作用。)

另见

此问题与Ejaaz的问题相似,但到目前为止他的答案尚未得到答案。

问题

picker view

代码

以下可运行代码产生以上结果。我并不是真的想要不同大小的线条,我只是想要大字体适合。我尝试插入Spacers,并在其中添加.frame修饰符,.lineSpacingpadding() ...也许只是找不到正确的组合?

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))
        }
    }
}
layout swiftui uipickerview spacing
1个回答
0
投票

您必须将UIPickerView包装在UIVieweRepresentable中,然后使用

func rowSize(forComponent: Int) -> CGSize

更改行高。

© www.soinside.com 2019 - 2024. All rights reserved.