Как исправить отступ в приложении для IOS

Рейтинг: 0Ответов: 1Опубликовано: 31.03.2023

Проблема с navigation bar, их почему-то несколько когда запускаю непосредственно с телефона, и все хорошо когда запускаю с эмулятора. На телефоне несколько navigationbar как видно ниже на скрине.

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

Вид с телефона

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

Вот GitHub с проектом: https://github.com/iKrut0nardo/Schedule

var body: some View {
            
            TabView(selection: $selection) {
                // Вкладка с контентом
                NavigationView{
                    VStack {
                        Text(getCurrentWeekName())
                            .bold()
                            .font(.none)
                            .foregroundColor(.secondary)
                            .frame(
                                maxWidth: .infinity,
                                alignment: .topLeading
                            )
                            .padding(.leading)
                        Text(getAutoWeekType())
                            .font(.none)
                            .bold()
                            .foregroundColor(.secondary)
                            .frame(
                                maxWidth: .infinity,
                                alignment: .topLeading
                            )
                            .padding(.leading)
                        List(lessons, id: \.self) { lesson in
                            VStack(alignment: .leading) {
                                Text("\(lesson.subjectName)")
                                Text("\(lesson.time), \(lesson.roomNumber), \(lesson.sybjectType)")
                                    .font(.caption)
                                    .foregroundColor(.secondary)
                            }
                        }
                        
                    }
                    .navigationTitle(selection == 1 ? "Сегодня" : "Расписание")
                    
                }
                .onAppear {
                    loadLessons()
                }
                .onChange(of: selectedWeekType) { _ in
                    loadLessons()
                }
                .tabItem {
                    Image(systemName: "square.grid.2x2.fill")
                    Text("Текущий день")
                }.tag(1)
                
                // Вкладка с настройками
                NavigationView{
                    VStack{
                        List {
                            Picker("Week Type", selection: $selectedWeekType) {
                                Text("Верхняя неделя").tag("Верхняя неделя")
                                Text("Нижняя неделя").tag("Нижняя неделя")
                            }.pickerStyle(SegmentedPickerStyle())
                            ForEach(Weekday.allCases, id: \.self) { weekday in
                                Section(header: Text(weekday.rawValue)) {
                                    ForEach(getLessonsForWeekday(weekday: weekday), id: \.self) { lesson in
                                        VStack(alignment: .leading) {
                                            Text("\(lesson.subjectName)")
                                            Text("\(lesson.time), \(lesson.roomNumber), \(lesson.sybjectType)")
                                                .font(.caption)
                                                .foregroundColor(.secondary)
                                        }
                                    }
                                }
                            }
                            
                        }
                        
                    }
                    .navigationBarTitle(selection == 1 ? "Сегодня" : "Расписание")
                }
                .tabItem {
                    Image(systemName: "star")
                    Text("Вся неделя")
                }.tag(2)
            }
            .navigationBarBackButtonHidden(true)
            
        }

Ответы

▲ 1

Попробуйте использовать navigationBarTitleDisplayMode(_:):

.navigationBarTitleDisplayMode(.inline)

выглядит так:

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

и вот хороший туториал