小编Eli*_*rov的帖子

如何在 SwiftUI 中更改 UIViewRepresentable 内的 UITextField 大小

我想制作一个简单的自定义 UITextField,但我不知道如何设置其高度。

问题是 UITextField 扩展以填充父级,我意识到我可以.frame()在 上设置修饰符UINumberTextView,但这不是一个好的解决方案,因为您不需要在 SwiftUI TextField 上执行此操作。我对此感到非常沮丧,因为我在任何地方都找不到答案,而且这是一个如此简单的问题。

这是我的代码 - 设置textfield.frame没有任何效果。

struct UINumberTextView: UIViewRepresentable {

    @Binding var text: String

    func makeUIView(context: Context) -> UITextField {
        let textfield = UITextField()
        textfield.keyboardType = .numberPad
        textfield.frame = CGRect(origin: .zero, size: CGSize(width: .max, height: 44))
    
        return textfield
    }

    func updateUIView(_ uiView: UITextField, context: Context) {
        uiView.text = text
    }
}
Run Code Online (Sandbox Code Playgroud)

预览如下

以下是此代码在预览中的外观。

uikit ios swift swift4 swiftui

4
推荐指数
1
解决办法
1178
查看次数

标签 统计

ios ×1

swift ×1

swift4 ×1

swiftui ×1

uikit ×1