问题描述
我在Text
中有两个vstack
。两种文本的行数都可以无限增加。我希望如果文本的大小超出屏幕的大小,我可以滚动并查看所有内容。
第一种方法:
var body: some View {
vstack(alignment: .center,spacing: 0) {
vstack(alignment: .leading,spacing: 8) {
Text(title)
.font(.title)
Text(subtitle)
.font(.subheadline)
}
.frame(maxWidth: .infinity)
.background(Color.orange)
.padding(.top,24)
.padding(.horizontal,24)
Button(buttonTitle) { }
.frame(maxWidth: .infinity,minHeight: 50)
.background(Color.red)
.foregroundColor(.white)
.padding(.all,24)
}.background(Color.gray)
.frame(maxWidth: UIScreen.main.bounds.size.width - 20)
}
结果:
当然没有滚动...所以我添加了ScrollView:
var body: some View {
vstack(alignment: .center,spacing: 0) {
ScrollView {
vstack(alignment: .leading,spacing: 8) {
Text(title)
.font(.title)
Text(subtitle)
.font(.subheadline)
}
.frame(maxWidth: .infinity)
.background(Color.orange)
.padding(.top,24)
.padding(.horizontal,24)
}
Button(buttonTitle) { }
.frame(maxWidth: .infinity,24)
}.background(Color.gray)
.frame(maxWidth: UIScreen.main.bounds.size.width - 20)
}
结果:
有效!但是当文本不足以填充屏幕的整个高度时,ScrollView
仍会扩展到可用的整个空间,我希望它包装内容并“禁用”滚动功能。
我用很少的文字所得到的示例:
我想用很少的文字得到的样本:
所以问题是如何使ScrollView
来“包装”内容,而不是扩展到父View
的整个高度?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)