class TMTextView: UITextView {
private var placeholderLabel: UILabel!
func setPlaceholder(placeholderText: String) {
NSNotificationCenter.defaultCenter().addObserver(self, selector: "textDidChange", name: UITextViewTextDidChangeNotification, object: nil)
self.placeholderLabel = UILabel(frame: CGRectZero)
self.addSubview(self.placeholderLabel)
self.placeholderLabel.font = self.font
let size = (placeholderText as NSString).sizeWithAttributes([NSFontAttributeName: self.font])
self.placeholderLabel.frame = CGRect(x: 5, y: 5, width: size.width, height: size.height)
self.placeholderLabel.text = placeholderText
}
func textDidChange() {
self.placeholderLabel.hidden = !self.text.isEmpty
}
deinit {
NSNotificationCenter.defaultCenter().removeObserver(self)
}
}
UITextView with placeholder
最新推荐文章于 2020-07-19 15:49:37 发布