问题描述
使用 UI 工具包在 SwiftUI 中创建文本字段。 但是,文本显示为溢出。 我应该在自定义中添加什么?
struct FirstResponderTextField: UIViewRepresentable {
@Binding var text: String
let placeholder: String
class Coordinator: NSObject,UITextFieldDelegate {
@Binding var text: String
var becameFirstResponder = false
init(text: Binding<String>) {
self ._text = text
}
func textFieldDidChangeSelection(_ textField: UITextField) {
text = textField.text ?? ""
}
}
func makeCoordinator() -> Coordinator {
return Coordinator(text: $text)
}
func makeUIView(context: Context) -> some UIView {
let textField = UITextField()
textField.font = UIFont.systemFont(ofSize: 40,weight: .bold).rounded()
textField.delegate = context.coordinator
textField.placeholder = placeholder
return textField
}
func updateUIView(_ uiView: UIViewType,context: Context) {
if !context.coordinator.becameFirstResponder {
uiView.becomeFirstResponder()
context.coordinator.becameFirstResponder = true
}
}
}
extension UIFont {
func rounded() -> UIFont {
if let descriptor = self.fontDescriptor.withDesign(.rounded) {
let fontSize = self.pointSize
return UIFont(descriptor: descriptor,size: fontSize)
} else {
return self
}
}
}
我是 SwiftUI 的新手,希望得到任何评论或反馈。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)