试图创建一个用户可以编写一串文本在屏幕上环绕的界面.
我创建了一个名为‘TextArea’的SwiftUI页面,我可以在需要时在另一个页面上调用它.因为文本编辑器不能放置占位符文本.我需要创建一个,这是我从其他用户那里得到的代码.
import SwiftUI
import UIKit
struct TextArea: View {
@Binding var text: String
let placeholder: String
init(_ placeholder: String, text: Binding<String>) {
self.placeholder = placeholder
self._text = text
UITextView.appearance().backgroundColor = .clear
}
var body: some View {
ZStack(alignment: .topLeading) {
if text.isEmpty {
Text(placeholder)
.foregroundColor(Color(.placeholderText))
.padding(.horizontal, 8)
.padding(.vertical, 12)
}
TextEditor(text: $text)
.padding(4)
}
.font(.body)
}
}
然后在另一个SwiftUI页面上,我用这段代码调用它.
TextArea("What's Happening", text: $caption)
在那一页的顶端,我确立了它
@State private var caption = ""
代码编译时没有错误,在仿真器中也没有生成任何问题.当我运行该应用程序时,没有占位符文本.文本编辑器运行良好,符合预期.唯一缺少的是占位符文本.
提前谢谢!