我正在尝试使用新引入的TextEditor. 我的想法是,我在顶部有一些内容(蓝框),然后是 aScrollView和 a以及下面的TextEditor可变数量的内容Text(红框)。
(黄色框)视图TextEditor应该具有最小高度,但如果 \xe2\x80\x93 后面没有太多视图,则应该占据所有可用空间,Text而目前它不这样做...
import SwiftUI\n\nstruct ScrollViewWithTextEditor: View {\n \n var comments = ["Foo", "Bar", "Buzz"]\n \n var loremIpsum = """\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n """\n \n var body: some View {\n VStack {\n Group {\n Text("Some Content above")\n }\n .frame(maxWidth: .infinity)\n .border(Color.blue, width: 3.0)\n .padding(.all, 10)\n\n ScrollView {\n ScrollView {\n TextEditor(text: .constant(loremIpsum))\n .frame(minHeight: 200.0)\n }\n .frame(minHeight: 200.0)\n .border(Color.yellow, width: 3.0)\n .cornerRadius(3.0)\n .padding(.all, 10.0)\n \n VStack {\n ForEach(comments, id: \\.self) { comment in\n Text(comment)\n }\n .padding(.all, 10)\n .frame(maxWidth: .infinity, alignment: .leading)\n .border(Color.gray, width: 1)\n .cornerRadius(3.0)\n .padding(.all, 10)\n }\n \n }\n .frame(minHeight: 200.0)\n .border(Color.red, width: 3)\n .padding(.all, 3)\n }\n }\n}\n\nstruct ScrollViewWithTextEditor_Previews: PreviewProvider {\n static var previews: some View {\n ScrollViewWithTextEditor()\n }\n}\n\nRun Code Online (Sandbox Code Playgroud)\n关于如何解决这个问题有什么建议吗?
\n这是可能的解决方案。使用 Xcode 12 / iOS 14 进行测试。
ScrollView {
// make clear static text in background to define size and
// have TextEditor in front with same text fit
Text(loremIpsum).foregroundColor(.clear).padding(8)
.frame(maxWidth: .infinity)
.overlay(
TextEditor(text: .constant(loremIpsum))
)
}
.frame(minHeight: 200.0)
.border(Color.yellow, width: 3.0)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3046 次 |
| 最近记录: |