struct CustomTextField: View {
public struct CustomTextFieldStyle : TextFieldStyle {
public func _body(configuration: TextField<Self._Label>) -> some View {
configuration
.font(.largeTitle) // set the inner Text Field Font
.padding(10) // Set the inner Text Field Padding
//Give it some style
.background(
RoundedRectangle(cornerRadius: 5)
.strokeBorder(Color.primary.opacity(0.5), lineWidth: 3))
}
}
@State private var password = ""
@State private var username = ""
var body: some View {
VStack {
TextField("Test", text: $username)
.textFieldStyle(CustomTextFieldStyle()) // call the CustomTextField
SecureField("Password", text: $password)
.textFieldStyle(CustomTextFieldStyle())
}.padding()
}
}
6条答案
按热度按时间bvuwiixz1#
你可以试试这个。至少对我有用。希望对别人有帮助:
nwwlzxa72#
你可以检查这个。现在我只做了顶部和底部填充。你可以做同样的前导和尾随(或与水平和垂直)。如在问题中所问,这将做这个***“我希望能够聚焦文本字段,即使用户点击填充。"***
w1jd8yoj3#
可以,但您必须创建自己的TextFieldStyle。下面是一个示例:
ivqmmu1c4#
在TextField周围添加HStack,然后就可以使用HStack了:示例:
t9aqgxwy5#
o75abkj46#
我不知道是否可以在TextField内部给予,但可以从外部环境填充,并使用与TextField背景相同的颜色为其提供形状背景。
试试这个