输入大量文本时,用 UIKit 包裹的文本字段从该区域突出

问题描述

使用 UI 工具包在 SwiftUI 中创建文本字段。 但是,文本显示为溢出。 我应该在自定义添加什么?

enter image description here

本来想把这个红色区域做成文本框区域。

enter image description here

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 (将#修改为@)