Я использую TabView
для обозначения трех вкладок. В iOS 14 это прекрасно обрабатывается, но iOS 13 приводит к серой нижней панели, которая является панелью вкладок для навигации. Как мне убрать эту полосу?
Имейте в виду, что это TabView
в TabView
. Панель внешнего TabView
показана внизу с пятью вкладками; внутреннюю TabView
панель я вообще не хочу показывать.
Код ниже представляет собой внутренний TabView
.
import SwiftUI
struct DashboardView: View {
@State private var pageIndex = 1
var body: some View {
VStack {
DashboardTopBar(index: $pageIndex) // A custom selected tab indicator
if #available(iOS 14.0, *) {
TabView(selection: $pageIndex) {
RehabView().tag(0)
PerformanceView().tag(1)
RecoveryView().tag(2)
}
.tabViewStyle(PageTabViewStyle())
.indexViewStyle(PageIndexViewStyle(backgroundDisplayMode: .always))
} else {
TabView(selection: $pageIndex) {
RehabView().tag(0)
PerformanceView().tag(1)
RecoveryView().tag(2)
}
}
}
}
}
На изображении ниже показаны iOS 13 слева и iOS 14 справа.
Минимальный, полный и поддающийся проверке пример
Если приведенный ниже код запущен на iOS 13, вы заметите панель вкладок внизу и пустую панель вкладок вверху.
import SwiftUI
struct ContentView: View {
@State private var outerTabViewSelectedTab = 0
@State private var innerTabViewSelectedTab = 1
var body: some View {
TabView(selection: $outerTabViewSelectedTab,
content: {
Text("Outer 1").tabItem { Text("Outer 1") }.tag(1)
TabView(selection: $innerTabViewSelectedTab,
content: {
Text("Inner 1").tag(1)
Text("Inner 2").tag(2)
}).tabItem { Text("Outer 2") }.tag(2)
})
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
.indexViewStyle
иPageIndexViewStyle
доступны только в iOS 14. Я ищу специально для iOS 13. - person McGuile   schedule 22.09.2020true
иfalse
для прозрачности, но полоса все еще остается. Другие вкладки содержат представления списков, и полоса перекрывает элементы. - person McGuile   schedule 25.09.2020TapView
, если не хотите, чтобы он был виден? - person Mojtaba Hosseini   schedule 27.09.2020