• swift关于UIView设置frame值的extension


    swift关于UIView设置frame值的extension

    使用

    说明

    1. 使用如上图,很简单,不再赘述

    2. 在extension给添加的计算属性提供getter,setter方法即可

    源码

    //
    //  UIView+SetRect.swift
    //  YouXianMing
    //
    //  Created by YouXianMing on 15/9/29.
    //  Copyright © 2015年 YouXianMing All rights reserved.
    //
    
    import UIKit
    
    extension UIView {
    
        // x
        var x : CGFloat {
            
            get {
                
                return frame.origin.x
            }
            
            set(newVal) {
            
                var tmpFrame : CGRect = frame
                tmpFrame.origin.x     = newVal
                frame                 = tmpFrame
            }
        }
        
        // y
        var y : CGFloat {
            
            get {
                
                return frame.origin.y
            }
            
            set(newVal) {
                
                var tmpFrame : CGRect = frame
                tmpFrame.origin.y     = newVal
                frame                 = tmpFrame
            }
        }
        
        // height
        var height : CGFloat {
            
            get {
                
                return frame.size.height
            }
            
            set(newVal) {
                
                var tmpFrame : CGRect = frame
                tmpFrame.size.height  = newVal
                frame                 = tmpFrame
            }
        }
        
        // width
        var width : CGFloat {
            
            get {
                
                return frame.size.width
            }
            
            set(newVal) {
                
                var tmpFrame : CGRect = frame
                tmpFrame.size.width   = newVal
                frame                 = tmpFrame
            }
        }
        
        // left
        var left : CGFloat {
        
            get {
                
                return x
            }
            
            set(newVal) {
                
                x = newVal
            }
        }
        
        // right
        var right : CGFloat {
        
            get {
                
                return x + width
            }
            
            set(newVal) {
                
                x = newVal - width
            }
        }
        
        // top
        var top : CGFloat {
        
            get {
                
                return y
            }
            
            set(newVal) {
                
                y = newVal
            }
        }
        
        // bottom
        var bottom : CGFloat {
        
            get {
                
                return y + height
            }
            
            set(newVal) {
                
                y = newVal - height
            }
        }
        
        var centerX : CGFloat {
        
            get {
                
                return center.x
            }
            
            set(newVal) {
                
                center = CGPoint(x: newVal, y: center.y)
            }
        }
        
        var centerY : CGFloat {
        
            get {
                
                return center.y
            }
            
            set(newVal) {
                
                center = CGPoint(x: center.x, y: newVal)
            }
        }
        
        var middleX : CGFloat {
        
            get {
                
                return width / 2
            }
        }
        
        var middleY : CGFloat {
            
            get {
                
                return height / 2
            }
        }
        
        var middlePoint : CGPoint {
        
            get {
                
               return CGPoint(x: middleX, y: middleY)
            }
        }
    }
  • 相关阅读:
    机器学习框架之sklearn简介
    ubuntu 16.04下使用 python pip的安装问题。
    ubuntu 16.04 搭建git小型服务器
    使用config 来管理ssh的会话
    【linux】su、sudo、sudo su、sudo -i的用法和区别
    【python】确保文件写入结束
    【python】描述符descriptor
    【python】类(资料+疑惑)
    【pymongo】mongodb cursor id not valid error
    【python】继承关系和isinstance
  • 原文地址:https://www.cnblogs.com/YouXianMing/p/4847634.html
Copyright © 2020-2023  润新知