我尝试改变SwiftUI中Textfield(用户写入的文本)的文本颜色。我尝试使用foregroundColor,但它改变了占位符的文本颜色。如何在SwiftUI中执行此操作?
TextField($variable, placeholder: Text("a text")) .foregroundColor(.green)
7gcisfzg1#
.foregroundColor确实改变了TextField的文本颜色,但只有当它有一个默认值时,例如,这将工作得很好:
.foregroundColor
TextField
TextField(.constant("Hello World"), placeholder: Text("Type here...")) .foregroundColor(.green)
但是一旦你删除了整个文本,文本域不仅会失去颜色,还会失去其他的修饰符,比如对齐方式。这可能是当前版本中的一个bug,所以我会提交一个bug报告。
更新:Xcode 11 beta 3已修复此问题。
7ajki6be2#
使用background()设置背景颜色,使用foreground()设置输入文本颜色
background()
foreground()
struct PlaygroundTestView: View { @State var searchText = "" var body: some View { TextField("Search", text: $searchText) .font(Font.system(size: 14)) .padding() .background(RoundedRectangle(cornerRadius: 50).fill(Color.white)) .foregroundColor(.black) .padding() .offset(x:8, y: 10) } }
epggiuax3#
应更改文本颜色以使用文本字段.foreground color的属性。已为Xcode Version 11.1 (11A1027)更新快速用户界面
.foreground color
Xcode Version 11.1 (11A1027)
TextField("Email", text: $email) .textContentType(.emailAddress) .padding(.init(top: 0, leading: 15, bottom:0 , trailing: 15)) .foregroundColor(.blue) .textFieldStyle(RoundedBorderTextFieldStyle.init())
ecfdbz9o4#
如果您想在swift 5中为文本给予特定颜色
Text("Your Text") .foregroundColor(Color(uiColor: UIColor(red: 0.631, green: 0.678, blue: 0.769, alpha: 1)))
4条答案
按热度按时间7gcisfzg1#
.foregroundColor
确实改变了TextField
的文本颜色,但只有当它有一个默认值时,例如,这将工作得很好:但是一旦你删除了整个文本,文本域不仅会失去颜色,还会失去其他的修饰符,比如对齐方式。这可能是当前版本中的一个bug,所以我会提交一个bug报告。
更新:Xcode 11 beta 3已修复此问题。
7ajki6be2#
使用
background()
设置背景颜色,使用foreground()
设置输入文本颜色epggiuax3#
应更改文本颜色以使用文本字段
.foreground color
的属性。已为Xcode Version 11.1 (11A1027)
更新快速用户界面
ecfdbz9o4#
如果您想在swift 5中为文本给予特定颜色