Swiftui 如何更改TextField中字段的大小?
我需要更改文本字段的大小(实际上只是高度)。使用Swiftui 如何更改TextField中字段的大小?,swiftui,Swiftui,我需要更改文本字段的大小(实际上只是高度)。使用.padding()只会增加文本字段周围的区域,而不会增加字段本身。我尝试了一些可能的解决方案: 更改字体大小:这种方法可行,但我不希望文本字段本身有太大的文本 使用不起作用。我从非协议类型“TextFieldStyle”获得消息继承。似乎不再在Swift 5中工作了 我目前的解决办法是: @State private var searchText: String = "" var body: some View { H
.padding()
只会增加文本字段周围的区域,而不会增加字段本身。我尝试了一些可能的解决方案:
继承
。似乎不再在Swift 5中工作了
@State private var searchText: String = ""
var body: some View {
HStack{
Image(systemName: "magnifyingglass")
.font(.system(size: 20, weight: .bold))
ZStack(alignment: .leading){
if searchText.isEmpty { Text("search") }
TextField("", text: $searchText,
onEditingChanged: { focused in
if focused {
// do something...
}
},
onCommit: {
// do something...
})
.keyboardType(.alphabet)
.disableAutocorrection(true)
.frame(height: 50)
}
.textFieldStyle(PlainTextFieldStyle())
}
.frame(height: 30)
.frame(maxWidth: .infinity)
.foregroundColor(.white)
.accentColor(.white)
.padding()
.background(
Color("Color-2")
.cornerRadius(20)
.shadow(color: Color.black.opacity(0.3), radius: 5, x: 5, y: 5)
)
.contentShape(Rectangle())
}}
只有红色区域是“可点击的”
谢谢,但是当你点击黄色矩形的边缘时会发生什么?光标是否出现,您是否可以键入一些文本?对我来说,你的解决方案不起作用。@Erik:代码已经更新了!现在再试一次我有一个黄色的矩形,但是当我点击矩形时什么也没有happens@Erik:是的,但是你可以通过玩这些数字来达到你想要的,比如做大一点或做小一点我不知道你想要什么设计,所以如果你想找到最好的尺寸,就要花时间,而且你知道还有其他方法,这就是你现在所能做的一切。@Erik:我做了另一个代码,试试新的,如果行得通的话!
import SwiftUI
struct ContentView: View {
@State var stringOfText: String = ""
var body: some View {
TextField("", text: $stringOfText)
.font(Font.system(size: 50))
.background(Color.yellow)
.foregroundColor(Color.clear)
.cornerRadius(10)
.overlay(Text(stringOfText), alignment: .leading)
.padding()
.shadow(radius: 10)
}
}