我有一个看起来像这样的 SwiftUI 视图:
@State var showFullScreen: Bool = false
ZStack {
Image(uiImage: image)
.resizable()
.aspectRatio(contentMode: showFullscreen ? .fill : .fit)
.padding(showFullscreen ? 0 : 16)
VStack {
Spacer()
Label("{switchViewsMessage}".localized(), systemImage: "hand.point.up.left.fill")
.frame(maxWidth: .infinity, alignment: .center)
.padding()
.background(bgColor)
.applyShape(.rounded)
}
.padding()
}
.onTapGesture { withAnimation { showFullscreen.toggle() } }
.navigationBarTitle("{photo}".localized())
当State
设置为 时showFullScreen = false
,一切看起来都像预期的那样。但是,当设置showFullScreen
为时true
,图像会变为.fill
占据整个屏幕,但带有灰色背景的文本也会变得比屏幕宽。
为什么在更改状态时文本也会扩大宽度?