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

时间:2019-08-05 21:12:01

标签: swiftui

参见附件:

Squished Toggle in SwiftUI

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

@State var rememberMe: Bool = false

HStack(alignment: .center) {
    Spacer()
    Toggle(
        "Remember Me",
        isOn: $rememberMe
    )
    Spacer()
}

很显然,这里不需要省略号,但是通过消除两侧的Spacer(),它会逐渐变大以填充宽度。

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

1 个答案:

答案 0 :(得分:3)

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
  

结果

result

From Apple

  

fixedSize()将此视图固定为理想尺寸。