使文本字段背景透明,但占位符文本不透明
Posted
技术标签:
【中文标题】使文本字段背景透明,但占位符文本不透明【英文标题】:Having textfield background transparent, but placeholder text opaque 【发布时间】:2017-10-04 23:51:18 【问题描述】:是否可以让文本字段的占位符文本不透明而其背景设置为透明,例如。如果我选择一些背景颜色,并将 alpha 设置为某个值,如下所示:
占位符文本也变得透明。但我希望它不透明。那么,这是否可以实现,最好使用故事板?或者至少通过代码。
如果不清楚我想要达到的目标,请告诉我,我会发布带有示例的图片。
【问题讨论】:
【参考方案1】:您可以设置颜色的透明度而不是 UITextField 的 alpha。打开颜色下拉菜单并选择“其他”。将打开一个颜色选择器。在颜色选择器的底部,您可以更改不透明度。
【讨论】:
【参考方案2】:在 Swift 中,您可以通过以下方式获取占位符元素:
let placeHolder = textField.value(forKey: "placeholderLabel") as! UILabel
placeHolder.textColor = .blue
placeHolder.isOpaque = true
并进行您喜欢的所有自定义..
【讨论】:
【参考方案3】:你可以设置 UITextView.background = .clear
我提供了更多代码,以便以编程方式设置它会更容易,这是一个即用型示例。
private lazy var textField: UITextView =
let textField = UITextView()
textField.translatesAutoresizingMaskIntoConstraints = false
textField.font = UIFont.systemFont(ofSize: 14)
textField.isEditable = false
textField.textAlignment = .center
textField.isScrollEnabled = false
textField.backgroundColor = .clear // this is the line that answer you question
textField.text = """
People with these symptoms may have COVID-19:
Fever of chills, cough, shortness of breath or
difficulty breathing, fatigue, muscle or body aches,
headache, new loss of taste and smell, sore throat,
congestion or runny nose, nausea or vomiting,
diarrhea
"""
return textField
()
只要记住设置约束并将子视图添加到您的超级视图中 .addSubview(TextField)
【讨论】:
以上是关于使文本字段背景透明,但占位符文本不透明的主要内容,如果未能解决你的问题,请参考以下文章