UITextView添加Placeholder(swift)

UITextView添加Placeholder(swift)

by 伍雪颖

添加UILabel并初始化
publicletplaceholderLabel:UILabel=UILabel()
@IBInspectable public var placeholder: String = "" {
didSet {
placeholderLabel.text = placeholder
}
}

@IBInspectable public var placeholderColor: UIColor = UIColor(red: 0.0,green: 0.0,blue: 0.0980392,alpha: 0.22) {
didSet {
placeholderLabel.textColor = placeholderColor
}
}
override public var font: UIFont! {
didSet {
placeholderLabel.font = font
}
}

override public var textAlignment: NSTextAlignment {
didSet {
placeholderLabel.textAlignment = textAlignment
}
}
addSubview添加上去
override init(frame: CGRect,textContainer: NSTextContainer?) {
super.init(frame: frame,textContainer: textContainer)
commonInit()
}

required public init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
commonInit()
}

func commonInit() {
NSNotificationCenter.defaultCenter().addobserver(self,
selector: "textDidChange",
name: UITextViewTextDidChangeNotification,
object: nil)

placeholderLabel.font = font
placeholderLabel.textColor = placeholderColor
placeholderLabel.textAlignment = textAlignment
placeholderLabel.text = placeholder
placeholderLabel.numberOfLines = 0
placeholderLabel.backgroundColor = UIColor.clearColor()
placeholderLabel.setTranslatesAutoresizingMaskIntoConstraints(false)
addSubview(placeholderLabel)
}

输入文字消失的事件
override public var text: String! {
didSet {
textDidChange()
}
}

func textDidChange() {
placeholderLabel.hidden = !text.isEmpty
}

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...