我的应用程序使用了UITextView
.现在我希望UITextView
有一个类似于你可以设置的占位符UITextField
.
这该怎么做?
有没有人知道UITextField
默认情况下占位符文本的颜色是什么?我正在尝试将UITextView
文本设置为相同的颜色.我在其他地方读到UIColor.lightGrayColor()
它确实有点轻松了.
我需要向用户显示一个多行文本输入"框",其高度大于a的标准高度UITextField
.什么是最好或最正确的方法应该是什么?:
UITextField
并在代码中更改其高度或应用某个高度约束.UITextView
.这是多行的,但默认情况下它没有占位符,我想我应该在代码中实现该功能.如何检测UITextView
with中的数据更改Swift
?以下代码不进行任何检测.
我宣布UITextView
:
@IBOutlet weak var bodyText: UITextView!
optional func textViewDidChange(_ textView: UITextView!) {
println(bodyText.text)
}
Run Code Online (Sandbox Code Playgroud)
谢谢斯科特
我目前有以下代码:
class NewPostController: UIViewController {
@IBOutlet weak var MessageField: UITextView!
override func viewDidLoad() {
super.viewDidLoad()
MessageField.text = "What's on your mind?"
MessageField.textColor = UIColor.lightGrayColor()
}
func textViewDidBeginEditing(MessageField: UITextView) {
if MessageField.textColor == UIColor.lightGrayColor() {
MessageField.text = ""
MessageField.textColor = UIColor.blackColor()
}
}
Run Code Online (Sandbox Code Playgroud)
但是,每当我编辑时MessageField
,其中的代码textViewDidBeginEditing
都不会运行.我怀疑这是因为MessageField
函数中引用的方式无效,但我不知道该怎么做.
我的问题是,如果用户在UITextView中键入了字符,我将如何设置事件侦听器以进行侦听?
我知道我可以textview.hasText()
用来检查它是否有文本,但是即使UITextView中已经有文本,我也需要侦听键入的字符。
ios ×4
swift ×4
uitextview ×4
uitextfield ×2
cocoa-touch ×1
multiline ×1
objective-c ×1
placeholder ×1
uicolor ×1