如何解决为什么为地图视图框架设置动画如此缓慢
我正在创建一个包含Map视图的iOS 14应用。可以将以下内容粘贴到ContentView.swift iOS模板中。如果运行代码并按增大或减小键,则矩形和地图视图的动画更改会非常慢。为什么?
我做错什么了吗?还是地图视图性能根本不够好?
任何提示,我可以更改哪些内容以使其更快?
import SwiftUI
import MapKit
struct ContentView: View {
@State private var coord1 : CGFloat = 300.0
@State private var coord2 : CGFloat = 310.0
@State private var region = MKCoordinateRegion(
center: CLLocationCoordinate2D(
latitude: 52,longitude: 0
),span: MKCoordinateSpan(
latitudeDelta: 5,longitudeDelta: 5
)
)
private func increase() {
coord1 = coord1 + 100
coord2 = coord2 + 100
}
private func decrease() {
coord1 = coord1 - 100
coord2 = coord2 - 100
}
var body: some View {
VStack {
Spacer()
ZStack {
Rectangle()
.frame(width: coord2,height: coord2,alignment:.center)
.animation(.spring())
Map(coordinateRegion: $region)
.frame(width: coord1,height: coord1,alignment:.center)
.animation(.spring())
}
Spacer()
HStack {
Spacer()
Button(action: increase,label: {
Text("increase")
}).frame(width:100,height:100,alignment:.center)
Spacer()
Button(action: decrease,label: {
Text("decrease")
}).frame(width:100,alignment:.center)
}.frame(width: 200,alignment:.center)
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
如果你不在这里
Map(coordinateRegion: $region)
.frame(width: coord1,alignment:.center)
.animation(.spring())
动画按预期运行。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。