Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios matchedGeometryEffect不';我不能正常工作_Ios_Swift_Swiftui - Fatal编程技术网

Ios matchedGeometryEffect不';我不能正常工作

Ios matchedGeometryEffect不';我不能正常工作,ios,swift,swiftui,Ios,Swift,Swiftui,使用本文的最后一个示例,您将看到当iszomed切换为false时,文本的动画效果不佳。我不明白为什么 struct ContentView:View{ @命名空间私有变量动画 @状态私有变量isZoomed=false 变量帧:CGFloat{ 放大了吗?300:44 } var body:一些观点{ VStack{ 垫片() VStack{ HStack{ 圆角转角(拐角半径:10) .填充(颜色.蓝色) .框架(宽度:框架,高度:框架) .padding(.top,已缩放?20:0) 如果

使用本文的最后一个示例,您将看到当
iszomed
切换为false时,文本的动画效果不佳。我不明白为什么

struct ContentView:View{
@命名空间私有变量动画
@状态私有变量isZoomed=false
变量帧:CGFloat{
放大了吗?300:44
}
var body:一些观点{
VStack{
垫片()
VStack{
HStack{
圆角转角(拐角半径:10)
.填充(颜色.蓝色)
.框架(宽度:框架,高度:框架)
.padding(.top,已缩放?20:0)
如果已缩放==false{
文本(“泰勒·斯威夫特——1989年”)
.matchedGeometryEffect(id:“AlbumTitle”,在:动画中)
.font(.headline)
垫片()
}
}
如果已缩放==真{
文本(“泰勒·斯威夫特——1989年”)
.matchedGeometryEffect(id:“AlbumTitle”,在:动画中)
.font(.headline)
.padding(.bottom,60)
垫片()
}
}
.ontapsigne{
使用动画(.spring()){
self.isZoomed.toggle()
}
}
.padding()
.frame(最大宽度:。无穷大)
.帧(高度:已缩放?400:60)
.背景(颜色(白色:0.9))
}
}
}

将每个可移动部件包装到自己的堆栈中,容器将正确地删除视图

使用Xcode 12.1/iOS 14.1进行测试

VStack {
    HStack {
        RoundedRectangle(cornerRadius: 10)
            .fill(Color.blue)
            .frame(width: frame, height: frame)
            .padding(.top, isZoomed ? 20 : 0)
        
        HStack {                         // << here !!
            if isZoomed == false {
                Text("Taylor Swift – 1989")
                    .matchedGeometryEffect(id: "AlbumTitle", in: animation)
                    .font(.headline)
                Spacer()
            }}
    }
    VStack {                             // << here !!
        if isZoomed == true {
            Text("Taylor Swift – 1989")
                .matchedGeometryEffect(id: "AlbumTitle", in: animation)
                .font(.headline)
                .padding(.bottom, 60)
            Spacer()
        }
    }
}
VStack{
HStack{
圆角转角(拐角半径:10)
.填充(颜色.蓝色)
.框架(宽度:框架,高度:框架)
.padding(.top,已缩放?20:0)

HStack{//对此有解释吗?也只适用于第二个VStack。