Created
January 15, 2018 09:48
-
-
Save hisoka0917/35be32ef22f83dbe945ab1cd354fed2e to your computer and use it in GitHub Desktop.
UIView frame extension
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import UIKit | |
extension UIView { | |
public var top: CGFloat { | |
get { | |
return self.frame.origin.y | |
} | |
set { | |
var frame = self.frame | |
frame.origin.y = newValue | |
self.frame = frame | |
} | |
} | |
public var left: CGFloat { | |
get { | |
return self.frame.origin.x | |
} | |
set { | |
var frame = self.frame | |
frame.origin.x = newValue | |
self.frame = frame | |
} | |
} | |
public var bottom: CGFloat { | |
get { | |
return self.frame.origin.y + self.frame.size.height | |
} | |
set { | |
var frame = self.frame | |
frame.origin.y = newValue - self.frame.size.height | |
self.frame = frame | |
} | |
} | |
public var right: CGFloat { | |
get { | |
return self.frame.origin.x + self.frame.size.width | |
} | |
set { | |
var frame = self.frame | |
frame.origin.x = newValue - self.frame.size.width | |
self.frame = frame | |
} | |
} | |
public var width: CGFloat { | |
get { | |
return self.frame.size.width | |
} | |
set { | |
var frame = self.frame | |
frame.size.width = newValue | |
self.frame = frame | |
} | |
} | |
public var height: CGFloat { | |
get { | |
return self.frame.size.height | |
} | |
set { | |
var frame = self.frame | |
frame.size.height = newValue | |
self.frame = frame | |
} | |
} | |
public var centerX: CGFloat { | |
get { | |
return self.center.x | |
} | |
set { | |
self.center = CGPoint(x: newValue, y: self.center.y) | |
} | |
} | |
public var centerY: CGFloat { | |
get { | |
return self.center.y | |
} | |
set { | |
self.center = CGPoint(x: self.center.x, y: newValue) | |
} | |
} | |
public var origin: CGPoint { | |
get { | |
return self.frame.origin | |
} | |
set { | |
var frame = self.frame | |
frame.origin = newValue | |
self.frame = frame | |
} | |
} | |
public var size: CGSize { | |
get { | |
return self.frame.size | |
} | |
set { | |
var frame = self.frame | |
frame.size = newValue | |
self.frame = frame | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment