在 SwiftUI 中居中视图时如何防止文本压缩?

Ben*_*tal 3 swiftui

见附件:

压缩Toggle在 SwiftUI 中

...这个居中切换的代码很简单:

@State var rememberMe: Bool = false

HStack(alignment: .center) {
    Spacer()
    Toggle(
        "Remember Me",
        isOn: $rememberMe
    )
    Spacer()
}
Run Code Online (Sandbox Code Playgroud)

显然,这里不需要省略号,但是通过消除Spacer()每一侧的 ,它会增长以填充宽度。

如何在Toggle不挤压文本的情况下居中?

bac*_*h-f 5

fixedSize()似乎解决了我的问题。我们甚至不需要HStack

import SwiftUI

struct ContentView: View {
    @State var rememberMe: Bool = false
    var body: some View {
        Toggle(
            "Remember Me",
            isOn: $rememberMe
        ).fixedSize()
    }
}

#if DEBUG
struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
#endif
Run Code Online (Sandbox Code Playgroud)

结果

结果

来自苹果

fixedSize()将此视图固定为其理想大小。

  • 太好了,谢谢!看起来也可以避免文本垂直挤压,如下所示:`.fixedSize(horizo​​ntal: false,vertical: true)` (2认同)