我想制作一个简单的自定义UITextField,但我无法弄清如何设置它的高度。
问题在于UITextField会扩展以填充其父级视图,我意识到可以在UINumberTextView上设置.frame()修饰符,但这不是一个好的解决方案,因为在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
}
}
以下是预览的样子