SwiftUI TabView добавляет странное пустое пространство под видом?IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 SwiftUI TabView добавляет странное пустое пространство под видом?

Сообщение Anonymous »

Я использую вид вкладок для переключения экранов в своем приложении. Я также использую пользовательскую панель вкладок, которую я создал для навигации.
У меня проблема в том, что вид вкладок создает впечатление, что под ним создается случайное пустое пространство. Я не могу понять, это представление настраиваемой вкладки или нет.
ВАЖНО: следует отметить, что если вы щелкнете в любом месте пустого пространства, вы фактически начнете перемещаться по представлениям — кажется, что это на самом деле невидимая панель вкладок?
Ниже приведен снимок экрана с описанием проблемы:
Изображение

ContentView:

Код: Выделить всё

struct ContentView: View {

@State var selectedTab = 0

var body: some View {
VStack {
TabView(selection: $selectedTab) {
MyGarageView().tag(0)
FuelView().tag(1)
FinderView().tag(2)
}
}
ZStack{
HStack{
ForEach((TabbedItems.allCases), id: \.self){ item in
Button{
selectedTab = item.rawValue
} label: {
CustomTabItem(imageName: item.iconName, title: item.title, isActive: (selectedTab == item.rawValue))
}
}
}
.padding(6)
}
.frame(height: 75)
.cornerRadius(15)
.padding(.horizontal, 26)
}

}
CustomTabBarView:

Код: Выделить всё

enum TabbedItems: Int, CaseIterable{
case myGarage = 0
case fuel
case map

var title: String{
switch self {
case .myGarage:
return "Garage"
case .fuel:
return "Fuel"
case .map:
return "Finder"
}
}

var iconName: String {
switch self {
case .myGarage:
return "garage"
case .fuel:
return "fuel"
case .map:
return "map"
}
}
}

extension ContentView {
func CustomTabItem(imageName: String, title: String, isActive: Bool) -> some View {
HStack(spacing: 10){
Spacer()
Image(imageName)
.resizable()
.renderingMode(.template)
.foregroundColor(isActive ? .white : .gray)
.frame(width: 20, height: 20)
if isActive{
Text(title)
.font(.system(size: 14))
.foregroundColor(isActive ? .white : .black)
}
Spacer()
}
.frame(width: isActive ? 150 : 60, height: 60)
.background(isActive ? .black : .clear)
.cornerRadius(15)
}
}
Я пытался скрыть вид вкладок, но безрезультатно.
Я также пытался поиграться с фреймами, но безрезультатно.< /p>
Я не вижу проблемы, и другие сообщения/статьи тоже не помогли. Я застрял :(

Подробнее здесь: https://stackoverflow.com/questions/773 ... neath-view
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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