加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift-UITextView占位文字及占位文字颜色扩展(可在xib中直接使用

发布时间:2020-12-14 05:05:40 所属栏目:百科 来源:网络整理
导读:使用案例 ``` extension UITextView { ? ? ``` ? ? private struct RuntimeKey { ? ? ? ? static let hw_placeholderLabelKey = UnsafeRawPointer.init(bitPattern: "hw_placeholderLabelKey".hashValue) ? ? ? ? /// ...其他Key声明 ? ? } ? ? /// 占位文字

使用案例

```

extension UITextView {

? ? ```

? ? private struct RuntimeKey {

? ? ? ? static let hw_placeholderLabelKey = UnsafeRawPointer.init(bitPattern: "hw_placeholderLabelKey".hashValue)

? ? ? ? /// ...其他Key声明

? ? }

? ? /// 占位文字

? ? @IBInspectable public var placeholder: String {

? ? ? ? get {

? ? ? ? ? ? return self.placeholderLabel.text ?? ""

? ? ? ? }

? ? ? ? set {

? ? ? ? ? ? self.placeholderLabel.text = newValue

? ? ? ? }

? ? }

?? ?

? ? /// 占位文字颜色

? ? @IBInspectable public var placeholderColor: UIColor {

? ? ? ? get {

? ? ? ? ? ? return self.placeholderLabel.textColor

? ? ? ? }

? ? ? ? set {

? ? ? ? ? ? self.placeholderLabel.textColor = newValue

? ? ? ? }

? ? }

?? ?

? ? private var placeholderLabel: UILabel {

? ? ? ? get {

? ? ? ? ? ? var label = objc_getAssociatedObject(self,UITextView.RuntimeKey.hw_placeholderLabelKey!) as? UILabel

? ? ? ? ? ? if label == nil {

? ? ? ? ? ? ? ? if (self.font == nil) {

? ? ? ? ? ? ? ? ? ? self.font = UIFont.systemFont(ofSize: 14)

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? label = UILabel.init(frame: self.bounds)

? ? ? ? ? ? ? ? label?.numberOfLines = 0

? ? ? ? ? ? ? ? label?.font = self.font

? ? ? ? ? ? ? ? label?.textColor = UIColor.lightGray

? ? ? ? ? ? ? ? self.addSubview(label!)

? ? ? ? ? ? ? ? self.setValue(label!,forKey: "_placeholderLabel")

? ? ? ? ? ? ? ? objc_setAssociatedObject(self,UITextView.RuntimeKey.hw_placeholderLabelKey!,label!,.OBJC_ASSOCIATION_RETAIN_NONATOMIC)

? ? ? ? ? ? ? ? self.sendSubview(toBack: label!)

? ? ? ? ? ? }

? ? ? ? ? ? return label!

? ? ? ? }

? ? ? ? set {

? ? ? ? ? ? objc_setAssociatedObject(self,newValue,.OBJC_ASSOCIATION_RETAIN_NONATOMIC)

? ? ? ? }

? ? }

}

```?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读