Files
yingmeng-ios-switf/yinmeng-ios/Extension/UIView/UIView+.swift
2024-02-29 23:49:12 +08:00

162 lines
2.2 KiB
Swift

//
// UIView+.swift
// yinmeng-ios
//
// Created by MaiMang on 2024/2/29.
//
import UIKit
extension UIView {
/// x
public var x : CGFloat {
get {
return self.frame.origin.x
}
set (x) {
var frame = self.frame
frame.origin.x = x
self.frame = frame
}
}
/// y
public var y : CGFloat {
get {
return self.frame.origin.y
}
set (y) {
var frame = self.frame
frame.origin.y = y
self.frame = frame
}
}
/// maxX
public var maxX : CGFloat {
get {
return self.frame.maxX
}
set(maxX) {
self.frame.origin.x = maxX - self.frame.size.width
}
}
/// maxY
public var maxY : CGFloat {
get {
return self.frame.maxY
}
set(maxY) {
self.frame.origin.y = maxY - self.frame.size.height
}
}
/// width
public var width : CGFloat {
get {
return self.frame.size.width
}
set (width) {
var frame = self.frame
frame.size.width = width
self.frame = frame
}
}
/// height
public var height : CGFloat {
get {
return self.frame.size.height
}
set (height) {
var frame = self.frame
frame.size.height = height
self.frame = frame
}
}
/// centerX
public var centerX : CGFloat {
get {
return self.center.x
}
set (centerX) {
var center = self.center
center.x = centerX
self.center = center
}
}
/// centerY
public var centerY : CGFloat {
get {
return self.center.y
}
set (centerY) {
var center = self.center
center.y = centerY
self.center = center
}
}
/// size
public var size : CGSize {
get {
return self.frame.size
}
set (size) {
var newSize = self.frame.size
newSize = CGSize(width: size.width, height: size.height)
self.frame.size = newSize
}
}
/// origin
public var origin : CGPoint {
get {
return self.frame.origin
}
set (origin) {
var newOrigin = self.frame.origin
newOrigin = CGPoint(x: origin.x, y: origin.y)
self.frame.origin = newOrigin
}
}
/// borderWidth
public var borderWidth: CGFloat {
get {
return self.layer.borderWidth
}
set (borderWidth){
self.layer.borderWidth = borderWidth
guard self.layer.masksToBounds else {
return
}
self.layer.masksToBounds = true
}
}
}