gpt4 book ai didi

ios - 带有 PageTabViewStyle() 的 TabView 不使用 ScrollView 中的可用高度

转载 作者:行者123 更新时间:2023-12-04 11:23:23 26 4
gpt4 key购买 nike

所以我有一个如下所示的 TabView,但是当我尝试在 ScrollView 中实现它时,我总是必须给它一个固定的高度。有没有办法告诉tabview使用它在scrollView中需要的空间?我不知道 TabView 的内部内容的高度(顺便说一句。随着时间的推移而变化),所以固定高度对我不起作用。
我尝试了 .frame(maxHeight: .infinity),但这似乎不起作用

import SwiftUI

struct TEST: View {
var body: some View {
ScrollView {
TabView {
Text("Hello World")
}
.tabViewStyle(PageTabViewStyle(indexDisplayMode: .never))
.frame(maxHeight: .infinity)
// only .frame() with fixed Height works...
}
}
}

最佳答案

您需要使用像屏幕高度这样的固定高度,因为 ScrollView 具有无限高度。因此,当您在 ScrollView 内的对象上设置无限高度时,它只占用内容真正需要的空间。我建议您在 TabView 上使用屏幕高度,如下所示:

.frame(height: UIScreen.main.bounds.height)


或者使用 GeometryReader 为您提供 ScrollView 采用的高度,然后将其应用于 TabView 框架,如下所示:
struct MyView: View {
var body: some View {
GeometryReader { proxy in
ScrollView {
TabView {
Text("Hello World")
}
.tabViewStyle(PageTabViewStyle(indexDisplayMode: .never))
.frame(height: proxy.size.height)
}
}

}
}

关于ios - 带有 PageTabViewStyle() 的 TabView 不使用 ScrollView 中的可用高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64136316/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com