Swift - 常用的扩展

UIScrollView-Extension

extension UIScrollView {
    var hh_insetT : CGFloat {

        get {
            return contentInset.top
        }

        set(newVal) {
            var inset = contentInset
            inset.top = newVal
            contentInset = inset
        }
    }

    var hh_insetB : CGFloat {

        get {
            return contentInset.bottom
        }

        set(newVal) {
            var inset = contentInset
            inset.bottom = newVal
            contentInset = inset
        }
    }

    var hh_insetL : CGFloat {

        get {
            return contentInset.left
        }

        set(newVal) {
            var inset = contentInset
            inset.left = newVal
            contentInset = inset
        }
    }

    var hh_insetR : CGFloat {

        get {
            return contentInset.right
        }

        set(newVal) {
            var inset = contentInset
            inset.right = newVal
            contentInset = inset
        }
    }

    var hh_offsetX : CGFloat {

        get {
            return contentOffset.x
        }

        set(newVal) {
            var offset = contentOffset
            offset.x = newVal
            contentOffset = offset
        }
    }
    var hh_offsetY : CGFloat {

        get {
            return contentOffset.y
        }

        set(newVal) {
            var offset = contentOffset
            offset.y = newVal
            contentOffset = offset
        }
    }
    var hh_contentW : CGFloat {

        get {
            return contentSize.width
        }

        set(newVal) {
            var size = contentSize
            size.width = newVal
            contentSize = size
        }
    }
    var hh_contentH : CGFloat {

        get {
            return contentSize.height
        }

        set(newVal) {
            var size = contentSize
            size.height = newVal
            contentSize = size
        }
    }
}

UIView-Extension

extension UIView {

    var hh_x : CGFloat {

        get {
            return frame.origin.x
        }

        set(newVal) {
            var tmpFrame : CGRect = frame
            tmpFrame.origin.x     = newVal
            frame                 = tmpFrame
        }
    }

    var hh_y : CGFloat {

        get {
            return frame.origin.y
        }

        set(newVal) {
            var tmpFrame : CGRect = frame
            tmpFrame.origin.y     = newVal
            frame                 = tmpFrame
        }
    }

    var hh_h : CGFloat {

        get {
            return frame.size.height
        }

        set(newVal) {
            var tmpFrame : CGRect = frame
            tmpFrame.size.height  = newVal
            frame                 = tmpFrame
        }
    }

    var hh_w : CGFloat {

        get {
            return frame.size.width
        }

        set(newVal) {
            var tmpFrame : CGRect = frame
            tmpFrame.size.width   = newVal
            frame                 = tmpFrame
        }
    }

    var hh_size : CGSize {

        get {
            return frame.size
        }

        set(newVal) {
            var tmpFrame : CGRect = frame
            tmpFrame.size         = newVal
            frame                 = tmpFrame
        }
    }

    var hh_origin : CGPoint {

        get {
            return frame.origin
        }

        set(newVal) {
            var tmpFrame : CGRect = frame
            tmpFrame.origin       = newVal
            frame                 = tmpFrame
        }
    }
}

相关文章

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