SwiftUI TabView не отображается в симуляторе, но отображается в xcode

введите здесь описание изображения

TabView не отображается в симуляторе [введите описание изображения здесь] [2]

TabView появляется в xcode при кодировании [2]: https://i.stack.imgur.com/BMPJM.png


person ahmed ayoub    schedule 07.03.2021    source источник
comment
Можете ли вы вставить в свой вопрос код, который воспроизводит проблему?   -  person jnpdx    schedule 07.03.2021
comment
Нам потребуется увидеть ваш код, чтобы иметь возможность устранять неполадки. Также может быть полезно знать, какое устройство и версию iOS вы используете в симуляторе.   -  person mightknow    schedule 08.03.2021


Ответы (1)


Вам нужно использовать ZStack, чтобы изменить вид в зависимости от выбранной вкладки. Вот мой пример кода. Я надеюсь, что это будет вам полезно.

 var body: some View {
        VStack(spacing: 0) {
            // Contents
            GeometryReader { _ in
                
                ZStack{

                    DebugLogView()
                        .opacity(selectedTab == "debug" ? 1 : 0)
                    
                    DiaryView()
                        .opacity(selectedTab == "diary" ? 1 : 0)
                    
                    CommunityView()
                        .opacity(selectedTab == "community" ? 1 : 0)
                    
                    ProfileView()
                        .opacity(selectedTab == "profile" ? 1 : 0)
                }
                .edgesIgnoringSafeArea(.all)
            }
            .onChange(of: selectedTab) { (_) in
                switch selectedTab {
                case "diary": if !mainViewModel.isDiaryLoaded { mainViewModel.loadDiaryView() }
                case "community": if !mainViewModel.isCommunityLoaded { mainViewModel.loadCommunityView() }
                case "profile": if !mainViewModel.isProfileLoaded { mainViewModel.loadProfileView() }
                default: ()
                }
            }
person Jaekyung You    schedule 08.03.2021
comment
ваш код работает нормально. но была моя ошибка, я неправильно называл TabView. Но спасибо (Y) - person ahmed ayoub; 08.03.2021