我想在 NavigationBarTitle 后面隐藏一些文本并在用户按下按钮时显示它,它工作正常。唯一的问题是动画。在加载时,我们看到文本在 NavigationBarTitle 后面移动,这不是我想要的。
我怎样才能解决这个问题?
我尝试了偏移和位置,但它不起作用......
代码 :
import SwiftUI
struct TestZStackNavigationView: View {
@State var isShowed = false
let screenSize: CGRect = UIScreen.main.bounds
var body: some View {
NavigationView {
VStack(alignment: .center, spacing: 0){
Text("Im the hidden text")
.fontWeight(.bold)
.foregroundColor(Color.white)
.frame(width: screenSize.width, height: 40, alignment: .center)
.background(Color.red)
// .offset(y: self.isShowed ? -315 : -355)
.position(x: screenSize.width / 2, y: self.isShowed ? 20 : -40)
.animation(.easeIn(duration: 0.5))
Button(action: {
self.isShowed.toggle()
}) {
Text("click me")
}
.navigationBarTitle(Text("Navigation Bar Title"), displayMode:.inline)
}
}
}
}
struct TestZStackNavigationView_Previews: PreviewProvider {
static var previews: some View {
TestZStackNavigationView()
}
}