Удалить пустое пространство TabViewIOS

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

Сообщение Anonymous »

Как удалить пустые строки вверху и внизу в TabView? У меня есть кейсы с разными экранами, и в зависимости от значка я хочу переходить к этим экранам с помощью координатора навигации.
Вот как это выглядит:

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

import SwiftUI

struct TabBarCoordinatorView: View {

@ObservedObject var coordinator: TabBarCoordinator

var body: some View {

ZStack {
VStack {

TabView(selection: $coordinator.selectedTab) {
NavigationView {
HomeView(
viewModel: HomeViewModel()
)
.background(Color.black.opacity(0.5))
.navigationViewStyle(.stack)
}
.tag(0)

NavigationView {
FavouriteView()
.navigationViewStyle(.stack)
}
.tag(1)
.background(Color.white)
NavigationView {
CategoryView()
.navigationViewStyle(.stack)
}
.tag(2)
.background(Color.white)
NavigationView {
SettingsView()
.navigationViewStyle(.stack)
}
.tag(3)
}
Spacer()
toolbar
}
}
}
}

extension TabBarCoordinatorView {
func customTabBar(imageName: Image, title: String, isActive: Bool) -> some View {
HStack(spacing: 5) {
Spacer()
imageName
.resizable()
.renderingMode(.template)
.foregroundColor(isActive ? .black : .gray)
.frame(width: 20, height: 20)
if isActive {
Text(title)
.font(.system(size: 14))
.foregroundColor(isActive ? .black : .gray)
}
Spacer()
}
.frame(width: isActive ? .infinity : 100, height: 60)
.background(isActive ? .customGray.opacity(0.4) : .clear)
.cornerRadius(30)
}

var toolbar: some View {
HStack {
ForEach((TabBarCoordinator.Tab.allCases), id: \.self) { item in
Button {
coordinator.selectedTab = item.rawValue
} label: {
customTabBar(imageName: item.iconName, title: item.title, isActive: (coordinator.selectedTab == item.rawValue))
}
}
}
}
}

#Preview {
TabBarCoordinatorView(coordinator: .init())
}
Мой координатор

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

import Foundation
import SwiftUI

final class TabBarCoordinator: ObservableObject {

// MARK: Route

enum Route {}

var route: Route?

// MARK: Tabs

enum Tab: Int, CaseIterable {
case home = 0
case favorite
case category
case settings

var title: String {
switch self {
case .home:
return "Home"
case .favorite:
return "Favorite"
case .category:
return "Category"
case .settings:
return "Settings"
}
}
var iconName: Image {
switch self {
case .home:
return Image.home
case .favorite:
return Image.heart
case .category:
return Image.category
case .settings:
return Image.setting
}
}
}

@Published var selectedTab = 0
}
Но когда я перемещаюсь, вверху и внизу экрана появляются пустые строки. Как их удалить?
Это сейчас
[img]https:// i.sstatic.net/f53uDyf6.png[/img]

Изображение


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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • SwiftUI TabView добавляет странное пустое пространство под видом?
    Anonymous » » в форуме IOS
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Как удалить пустое пространство под нижним колонтитулом на сайте Wordpress с помощью CSS
    Anonymous » » в форуме CSS
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous
  • Как удалить горизонтальную полосу прокрутки и лишнее пустое пространство в правой части веб-страницы после создания боко
    Anonymous » » в форуме CSS
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous
  • Удалить пустое пространство внизу моей веб-страницы
    Anonymous » » в форуме CSS
    0 Ответы
    33 Просмотры
    Последнее сообщение Anonymous
  • Удалить пустое пространство внизу моей веб-страницы
    Anonymous » » в форуме CSS
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous

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