提问人:xTwisteDx 提问时间:11/6/2023 更新时间:11/6/2023 访问量:46
TabView显示工具栏,即使我将其标记为隐藏,设置页面样式也会导致剪裁
TabView is showing toolbar, even though I have it marked hidden, setting page style causes clipping
问:
我有一个包含一个自定义的自定义,它只是一个包含多个对象的自定义。整个内容都包含在一个 中,对于每个页面,都会有一个新视图添加到我的 .TabView
PageView
ScrollView
ScrollView
some View
NavigationStack
TabView
NavigationStack {
TabView(selection: $selectedPageIndex) {
ForEach(appConfig.pages.indices, id: \.self) { index in
let page = appConfig.pages[index]
PageView(topPadding: $navBarHeight,
bottomPadding: $tabBarHeight,
page: page)
.toolbar(.hidden, for: .tabBar)
.tag(index)
}
}
.overlay {
VStack {
navBar
.getHeight(height: $navBarHeight)
Spacer()
TabBar(selectedPageIndex: $selectedPageIndex)
.getHeight(height: $tabBarHeight)
}
}
我有这种奇怪的行为,如果我改变几次,就会重新出现。这发生在画布、模拟器或真实设备上。如图所示。selectedPageIndex
.toolbar
我遇到的第二个问题是,我需要它是“全屏”的,因为我使用它来托管我的页面,并且实际上创建了一个自定义和它自己的项目。每当我尝试添加并更改“有时”时,都会起作用,但大多数情况下只是不做任何事情。TabView
NavigationBar
TabBar
.ignoresSafeArea()
.tabViewStyle(.page(indexDisplayMode: .never))
selectedPageIndex
.ignoresSafeArea()
.tabViewStyle(.page(indexDisplayMode: .never))
.overlay {
取而代之的是,基础视图以一种意想不到的方式被剪裁,而不是扩展视图的整个高度。它也存在于画布、模拟器和真实设备中。
奇怪的是,每当我第一次加载它时,一切都会按照您的预期呈现,底部没有被剪裁。我可以使用拖动手势来交换选项卡,甚至可以使用 TabBar 选择新选项卡,但是视图会立即跳起并开始剪裁,就好像框架自行更改一样。为了修复它,我必须重置视图。
答: 暂无答案
上一个:更新两个表的联合视图中的值
评论
UITabBar.appearance().alpha = 0
ignoresSafeArea()
NavigationStack
TabView