Skip to content

Instantly share code, notes, and snippets.

@hisoka0917
Created January 15, 2018 09:48
Show Gist options
  • Save hisoka0917/35be32ef22f83dbe945ab1cd354fed2e to your computer and use it in GitHub Desktop.
Save hisoka0917/35be32ef22f83dbe945ab1cd354fed2e to your computer and use it in GitHub Desktop.
UIView frame extension
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