zoukankan      html  css  js  c++  java
  • swift为UIView添加extension扩展frame

    添加swift file:UIView+Extension

    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)
            }
        }
    }

    简单设置x/y/width/height

    import UIKit
    
    extension UIView {
        
        //设置随机背景色
        func backgroundColorRandom(){
            
            self.backgroundColor = UIColor(red: CGFloat(CGFloat(random())/CGFloat(RAND_MAX)), green: CGFloat(CGFloat(random())/CGFloat(RAND_MAX)), blue: CGFloat(CGFloat(random())/CGFloat(RAND_MAX)), alpha: 1)
        }
        
        var x : CGFloat!{
            get{return self.frame.origin.x
                
            }
            set(newX){
                var rect : CGRect! = self.frame
                rect.origin.x = newX
                self.frame = rect
            }
            
        }
        
        var y : CGFloat!{
            get{
                return self.frame.origin.y
            }
            set(newY){
                var rect : CGRect! = self.frame
                rect.origin.y = newY
                self.frame = rect
            }
            
        }
        
        var width : CGFloat!{
            get{
                return self.frame.size.width
            }
            set(newW){
                var rect : CGRect! = self.frame
                rect.size.width = newW
                self.frame = rect
            }
            
        }
        
        var height : CGFloat!{
            get{
                return self.frame.size.height
            }
            set(newH){
                var rect : CGRect! = self.frame
                rect.size.height = newH
                self.frame = rect
            }
            
        }
        
    }

    相关链接:swift关于UIView设置frame值的extension

  • 相关阅读:
    jchdl
    jchdl
    UVa 10256 (判断两个凸包相离) The Great Divide
    UVa 11168 (凸包+点到直线距离) Airport
    LA 2572 (求可见圆盘的数量) Kanazawa
    UVa 10652 (简单凸包) Board Wrapping
    UVa 12304 (6个二维几何问题合集) 2D Geometry 110 in 1!
    UVa 10674 (求两圆公切线) Tangents
    UVa 11796 Dog Distance
    LA 3263 (平面图的欧拉定理) That Nice Euler Circuit
  • 原文地址:https://www.cnblogs.com/On1Key/p/5419530.html
Copyright © 2011-2022 走看看