Я пробовал оба ваших блока кода
Дело 1
struct Spinner: View{
@State private var spin = false
var body: some View {
Image(systemName: "arrow.2.circlepath")
.resizable()
.frame(width: 50, height: 40)
.rotationEffect(
.degrees(spin ? 360: 0)
)
.animation(
Animation.linear(duration: 1).repeatForever(autoreverses: false)
)
.onAppear(){
self.spin.toggle()
}
}
}
struct ContentView: View {
var body: some View {
ScrollView {
VStack {
Text("Hello World").bold()
Text("Hello World").bold()
Text("Hello World").bold()
Text("Hello World").bold()
Button(action: {}){
Spinner()
}
Text("Hello World").bold()
Text("Hello World").bold()
Text("Hello World").bold()
Text("Hello World").bold()
}
}
}
}
Дело 2
struct ContentView: View {
@State private var spin = false
var body: some View {
ScrollView {
VStack {
Text("Hello World").bold()
Text("Hello World").bold()
Text("Hello World").bold()
Text("Hello World").bold()
Button(action: {}){
Image(systemName: "arrow.2.circlepath")
.resizable()
.frame(width: 50, height: 40)
.rotationEffect(
.degrees(spin ? 360: 0)
)
.animation(
Animation.linear(duration: 1).repeatForever(autoreverses: false)
)
.onAppear(){
self.spin.toggle()
}
}
Text("Hello World").bold()
Text("Hello World").bold()
Text("Hello World").bold()
Text("Hello World").bold()
}
}
}
}
ПРИМЕЧАНИЕ. Я добавил несколько дополнительных ярлыков, чтобы сделать прокручиваемым содержимое
Оба приведенных выше результата дают одинаковые результаты, я думаю, что ваши предыдущие GIF не были из недавнего кода.
Пожалуйста, попробуйте еще раз и посмотрите, работает или нет. Если код, который вы добавили в пример, верен, он должен работать
![Result of Case 1 and 2](https://i.stack.imgur.com/UgHJZ.gif)