微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决输入大量文本时,用 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 举报,一经查实,本站将立刻删除。