Черный экран iOS 17 NavigationStackIOS

Программируем под IOS
Ответить
Гость
 Черный экран iOS 17 NavigationStack

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


Я только что обновил свои Xcode и iPhone до новейших версий iOS17 и Xcode 15. Я заметил, что когда я нажимал свою пользовательскую кнопку «Назад» в своем приложении, которое я создаю, оно превращалось в черный экран, а затем закрывало экран, в то время как смахнуть его, кажется, все еще нормально. Этого никогда не происходило до обновления до iOS17. Обычно, как только я нажимаю кнопку «Назад», она плавно сдвигается в сторону и закрывается экран.

Вот мой код, который я использую:

InitView:

NavigationStack { ... ... } .navigationDestination(for: String.self) {маршрут в переключить маршрут { случай «LoginView»: LoginView (путь: $path) случай «RegisterView»: RegisterView (путь: $path) случай «ResetPasswordView»: ResetPasswordView (путь: $path) по умолчанию: Текст("Неизвестно") } } Просмотр входа:

struct LoginView: Просмотр { @Binding var path: NavigationPath //Навигация var body: some View { ВСтек { Кнопка (действие: { //назад отклонить кнопку //self.presentationMode.wrappedValue.dismiss() //Это не приводит к появлению черного экрана. path.removeLast() //Это приводит к тому, что LoginView становится черным, а затем возвращает его в InitView. }, этикетка: { ZStack { RoundedRectangle(cornerRadius: 7) .stroke(.gray.opacity(0.3), lineWidth: 3) .frame(ширина: 30, высота: 30) Изображение (имя системы: «chevron.left») .изменяемый размер() .aspectRatio(contentMode: .fit) .frame(ширина: 8) .смелый() .foregroundColor(.gray) } }) } .navigationBarBackButtonHidden() } } Однако это не имеет значения. Это код, который я использую для возврата к InitView, поскольку я применил модификатор .navigationBarBackButtonHidden():
расширение UINavigationController: UIGestureRecouncerDelegate { переопределить открытую функцию viewDidLoad() { супер.viewDidLoad() интерактивныйPopGestureRecouncer?.delegate = self } общественная функция жестRecouncerShouldBegin (_ жестRecouncer: UIGestureRecouncer) -> Bool { вернуть viewControllers.count > 1 } // Чтобы это работало и со ScrollView public func жестRecouncer(_gestRecouncer: UIGestureRecouncer, mustRecounceeSimulentiallyWithotherGestureRecouncer: UIGestureRecouncer) -> Bool { истинный } }
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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