UIView+Frame.swift 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. //
  2. // UIView+Basic.swift
  3. // Pods
  4. //
  5. // Created by 100Years on 2025/3/6.
  6. //
  7. // Frame
  8. public extension UIView {
  9. @IBInspectable
  10. public var cornerRadius: CGFloat {
  11. set {
  12. clipsToBounds = true
  13. layer.cornerRadius = newValue
  14. }
  15. get {
  16. layer.cornerRadius
  17. }
  18. }
  19. @IBInspectable
  20. public var borderWidth: CGFloat {
  21. set {
  22. layer.borderWidth = newValue
  23. }
  24. get {
  25. layer.borderWidth
  26. }
  27. }
  28. @IBInspectable
  29. public var borderColor: UIColor? {
  30. set {
  31. layer.borderColor = newValue?.cgColor
  32. }
  33. get {
  34. if let cgColor = layer.borderColor {
  35. return UIColor(cgColor: cgColor)
  36. }
  37. return nil
  38. }
  39. }
  40. var x: CGFloat {
  41. set {
  42. frame.origin.x = newValue
  43. }
  44. get {
  45. return frame.origin.x
  46. }
  47. }
  48. var y: CGFloat {
  49. set {
  50. frame.origin.y = newValue
  51. }
  52. get {
  53. return frame.origin.y
  54. }
  55. }
  56. var width: CGFloat {
  57. set {
  58. frame.size.width = newValue
  59. }
  60. get {
  61. return frame.size.width
  62. }
  63. }
  64. var height: CGFloat {
  65. set {
  66. frame.size.height = newValue
  67. }
  68. get {
  69. return frame.size.height
  70. }
  71. }
  72. var size: CGSize {
  73. get { frame.size }
  74. set {
  75. var rect = frame
  76. rect.size = newValue
  77. frame = rect
  78. }
  79. }
  80. var centerX: CGFloat {
  81. set {
  82. let newCenter = CGPoint(x: newValue, y: center.y)
  83. center = newCenter
  84. }
  85. get {
  86. return center.x
  87. }
  88. }
  89. var centerY: CGFloat {
  90. set {
  91. let newCenter = CGPoint(x: center.x, y: newValue)
  92. center = newCenter
  93. }
  94. get {
  95. return center.y
  96. }
  97. }
  98. var bottom: CGFloat {
  99. get {
  100. return frame.origin.y + frame.size.height
  101. }
  102. }
  103. }
  104. public extension UIScreen {
  105. static let size = {
  106. UIScreen.main.bounds.size
  107. }()
  108. static var width: CGFloat {
  109. return size.width
  110. }
  111. static var height: CGFloat {
  112. return size.height
  113. }
  114. }