Swift之UIView的扩展

简介: Swift之UIView的扩展

Swift之UIView的扩展


这样写代码阅读性更好,本人也喜欢这样写代码

9e87c3ac27258ee7ca3c0324768b9885.png

Snip20180319_4.png

OC版本https://www.jianshu.com/p/87fe8966f36e!

第一步:

aa4f9d1d153ee50f90b780c2e30faa17.png

Snip20180319_5.png


第二步:


91327edfa2c9c437ce035548ef0f077c.png

Snip20180319_6.png

第三步

代码

import Foundation
import UIKit
extension UIView{
    public var LYW_X:CGFloat{
        get{
            return self.frame.origin.x
        }
        set{
            var r  = self.frame
            r.origin.x = newValue
            self.frame = r
        }
    }
    public var LYW_Y:CGFloat{
        get{
            return self.frame.origin.y
        }
        set{
            var r = self.frame
            r.origin.y = newValue
            self.frame = r
        }
    }
    public var LYW_W:CGFloat{
        get{
            return self.frame.size.width
        }
        set{
            var r = self.frame
            r.size.width = newValue
            self.frame = r
        }
    }
    public var LYW_H:CGFloat{
        get{
            return self.frame.size.height
        }
        set{
            var r = self.frame
            r.size.height = newValue
            self.frame = r
        }
    }
    public var LYW_rightX:CGFloat{
        get{
            return self.LYW_X + self.LYW_W
        }
        set{
            var r = self.frame
            r.origin.x = newValue - frame.size.width
            self.frame = r
        }
    }
    public var LYw_bottomY:CGFloat{
        get{
            return self.LYW_Y + self.LYW_H
        }
        set{
            var r = self.frame
            r.origin.y = newValue - frame.size.height
            self.frame = r
        }
    }
    public var LYW_CenterX:CGFloat{
        get{
            return self.center.x
        }
        set
        {
            self.center = CGPoint(x: newValue, y: self.center.y)
        }
    }
    public var LYW_CenterY :CGFloat{
        get{
            return self.center.y
        }
        set{
            self.center = CGPoint(x:self.center.x,y:newValue)
        }
    }
    public var LYW_origin:CGPoint{
        get{
            return self.frame.origin
        }
        set{
            self.LYW_X = newValue.x
            self.LYW_Y = newValue.y
        }
    }
    public var LYW_size:CGSize{
        get{
            return self.frame.size
        }
        set{
            self.LYW_W = newValue.width
            self.LYW_H = newValue.height
        }
    }
}

自己动手多敲吧 ,使用方法就是拿到对象直接给它设置位置尺寸

相关文章
|
存储 Swift iOS开发
31 Swift 继续聊聊协议扩展
Swift 继续聊聊协议扩展
107 0
|
3月前
|
存储 编译器 Swift
Swift笔记:Swift中的扩展语法
Swift笔记:Swift中的扩展语法
86 1
|
5月前
|
存储 Swift 索引
Swift开发——索引器扩展
扩展用于向已存在的类型(例如,类、结构体、枚举和协议等)中添加新的功能,扩展甚至可以向系统类型(包括无法查阅代码的类型)中添加新的功能,但是扩展不能覆盖原类型中已有的方法,扩展也不能向类中添加新的存储属性。
54 6
Swift开发——索引器扩展
|
6月前
|
存储 设计模式 安全
【Swift开发专栏】Swift的扩展与分类
【4月更文挑战第30天】Swift的扩展和枚举分类提供类型添加新功能的灵活性。文章分为三部分:扩展用于为已有类型添加属性、方法等,适用于功能扩展、代码组织;枚举分类定义相关值,支持原始值和关联值,用于状态表示和类型安全选项。扩展和分类在实际开发中应用于类型增强、状态管理及组合使用。了解并掌握这些特性,能提升代码的灵活性和可维护性。更多高级特性和应用值得进一步探索。
86 2
|
Swift
Swift - 如何让UIView,UILabel和UIImageView之间类型互相转化
Swift - 如何让UIView,UILabel和UIImageView之间类型互相转化
141 0
|
Swift
Swift - UIView,UILabel,UIButton,UIImageView
Swift - UIView,UILabel,UIButton,UIImageView
93 0
|
存储 前端开发 Swift
Swift实用小册19:Extension扩展的使用
在本章中,你将学会Extension扩展的使用方法。
396 0
Swift实用小册19:Extension扩展的使用
|
存储 编译器 Swift
Swift5.0 - day7-扩展、访问控制、内存管理
Swift5.0 - day7-扩展、访问控制、内存管理
172 0
Swift5.0 - day7-扩展、访问控制、内存管理
|
测试技术 Swift
Swift:UIView+Extension
Swift:UIView+Extension
315 0
Swift5.1—扩展协议和默认实现
Swift5.1—扩展协议和默认实现
352 0