我想消除Form中第一个Section上方的空间
Form
Section
var body: some View { VStack { Text("Text 1") Form { Section { Text("Text 2") } } } }
我尝试将Section标题的帧设置为0,但不起作用
t98cgbkg1#
解决方案是添加一个带有EmptyView()的Section,然后将您想要的视图放在Section的头文件的顶部。
EmptyView()
var body: some View { VStack { Text("Text 1") Form { Section(header: VStack(alignment: .center, spacing: 0) { Text("Text 2") .padding(.all, 16) .frame(width: UIScreen.main.bounds.width, alignment: .leading) .background(Color.white) }) { EmptyView() }.padding(.top, -6) } } }
vjhs03f72#
我会提供一个虚拟的头视图,并将其大小设置为零:
Section(header: Color.clear .frame(width: 0, height: 0) .accessibilityHidden(true)) { Text("Text 2") }
6za6bjd03#
最好的解决方案可能取决于你的需求。对我来说,最有效的是一个空的文本视图,如下所示:
Section(header: Text("")) { MySectionView() }
顺便说一句,我尝试了EmptyView(),但它完全被忽略了;就像在空间里一样。
nhhxz33t4#
这就简单多了:
struct ContentView: View { init() { UITableView.appearance().tableHeaderView = UIView(frame: CGRect(x: 0, y: 0, width: 0, height: Double.leastNonzeroMagnitude)) } var body: some View { } }
4条答案
按热度按时间t98cgbkg1#
解决方案是添加一个带有
EmptyView()
的Section
,然后将您想要的视图放在Section
的头文件的顶部。vjhs03f72#
我会提供一个虚拟的头视图,并将其大小设置为零:
6za6bjd03#
最好的解决方案可能取决于你的需求。对我来说,最有效的是一个空的文本视图,如下所示:
顺便说一句,我尝试了EmptyView(),但它完全被忽略了;就像在空间里一样。
nhhxz33t4#
这就简单多了: