Swift系统类添加自定义属性

2023-07-06  本文已影响0人  文刂Rn
import UIKit

private var refWidthKey: UInt8 = 0

extension UIView {
    /// 参照宽度,也就是父视图的宽度。
    /// - 如果是`UIScrollView`最好将其设置为它的`contentSize.width`。
    var rtl_refWidth: CGFloat {
        set { objc_setAssociatedObject(self, &refWidthKey, newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC) }
        get { objc_getAssociatedObject(self, &refWidthKey) as? CGFloat ?? superview?.bounds.width ?? 0 }
    }
}
上一篇 下一篇

猜你喜欢

热点阅读