Как использовать анимацию после обновления iOS 17?IOS

Программируем под IOS
Гость
Как использовать анимацию после обновления iOS 17?

Сообщение Гость »


После обновления до iOS 17 анимация, которую я использую в своем проекте, изменилась и теперь выглядит плохо.

При использовании у меня появилось предупреждение:

Анимация устарела в iOS 15.0: вместо нее используйте withAnimation или анимацию(_:value:).

Кажется, это сообщение не повлияло на то, как оно выглядело при запуске кода, но сейчас, я думаю, оно влияет на него.

Вот мой код:

TabView(выбор: $selectedCategory) { Просмотр1() .tag(Категория.view1) .onAppear { } .анимация(.default) ИзображениеView() .padding(.top) .tag(Категория.imageView) .onAppear { } .анимация(.default) Просмотр3() .tag(Категория.view3) .onAppear { } .анимация(.default) } Анимация по умолчанию происходила при инициализации представлений во вкладках. Это все еще происходит, но вместо красивого естественного затухания оно выглядит неряшливо.

На что мне нужно заменить .animation(.default), чтобы вернуться к приятному эффекту плавного затухания?

Я пытался присвоить анимации логическое значение, для которого в .onAppear было установлено значение true, но это, похоже, не сработало.

Вот пример для воспроизведения:

struct ContentView: Просмотр { var body: some View { НавигацияВью { ВСтек { NavigationLink(пункт назначения: View2()) { Текст («Нажми на меня») .foregroundStyle(.green) } } } } } #Предварительный просмотр { КонтентПросмотр() } структура View2: Просмотр { var body: some View { ВСтек { Круг() .fill(.красный) .padding() } .onAppear{ } .анимация(.default) } } Как вы можете видеть, анимация заставляет красный круг покачиваться, когда он появляется, до iOS 17 он исчезал. Если вы удалите анимацию, вы заметите, что колебание исчезнет.

Вернуться в «IOS»