UIVIew+Positioning.swift 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. import Foundation
  2. import UIKit
  3. extension UIView {
  4. public var x: CGFloat{
  5. get{
  6. return self.frame.origin.x
  7. }
  8. set{
  9. var r = self.frame
  10. r.origin.x = newValue
  11. self.frame = r
  12. }
  13. }
  14. public var y: CGFloat{
  15. get{
  16. return self.frame.origin.y
  17. }
  18. set{
  19. var r = self.frame
  20. r.origin.y = newValue
  21. self.frame = r
  22. }
  23. }
  24. /// 右边界的x值
  25. public var rightX: CGFloat{
  26. get{
  27. return self.x + self.width
  28. }
  29. set{
  30. var r = self.frame
  31. r.origin.x = newValue - frame.size.width
  32. self.frame = r
  33. }
  34. }
  35. /// 下边界的y值
  36. public var bottomY: CGFloat{
  37. get{
  38. return self.y + self.height
  39. }
  40. set{
  41. var r = self.frame
  42. r.origin.y = newValue - frame.size.height
  43. self.frame = r
  44. }
  45. }
  46. public var centerX : CGFloat{
  47. get{
  48. return self.center.x
  49. }
  50. set{
  51. self.center = CGPoint(x: newValue, y: self.center.y)
  52. }
  53. }
  54. public var centerY : CGFloat{
  55. get{
  56. return self.center.y
  57. }
  58. set{
  59. self.center = CGPoint(x: self.center.x, y: newValue)
  60. }
  61. }
  62. public var width: CGFloat{
  63. get{
  64. return self.frame.size.width
  65. }
  66. set{
  67. var r = self.frame
  68. r.size.width = newValue
  69. self.frame = r
  70. }
  71. }
  72. public var height: CGFloat{
  73. get{
  74. return self.frame.size.height
  75. }
  76. set{
  77. var r = self.frame
  78. r.size.height = newValue
  79. self.frame = r
  80. }
  81. }
  82. public var origin: CGPoint{
  83. get{
  84. return self.frame.origin
  85. }
  86. set{
  87. self.x = newValue.x
  88. self.y = newValue.y
  89. }
  90. }
  91. public var size: CGSize{
  92. get{
  93. return self.frame.size
  94. }
  95. set{
  96. self.width = newValue.width
  97. self.height = newValue.height
  98. }
  99. }
  100. }