UIView+Frame.m 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. //
  2. // UIView+Frame.m
  3. // Sinfo
  4. //
  5. // Created by xiaoyu on 16/6/29.
  6. // Copyright © 2016年 YaoZhong. All rights reserved.
  7. //
  8. #import "UIView+Frame.h"
  9. @implementation UIView (Frame)
  10. - (CGFloat)left
  11. {
  12. return self.frame.origin.x;
  13. }
  14. - (void)setLeft:(CGFloat)x
  15. {
  16. CGRect frame = self.frame;
  17. frame.origin.x = x;
  18. self.frame = frame;
  19. }
  20. - (CGFloat)top
  21. {
  22. return self.frame.origin.y;
  23. }
  24. - (void)setTop:(CGFloat)y
  25. {
  26. CGRect frame = self.frame;
  27. frame.origin.y = y;
  28. self.frame = frame;
  29. }
  30. - (CGFloat)right
  31. {
  32. return self.frame.origin.x + self.frame.size.width;
  33. }
  34. - (void)setRight:(CGFloat)right
  35. {
  36. CGRect frame = self.frame;
  37. frame.origin.x = right - frame.size.width;
  38. self.frame = frame;
  39. }
  40. - (CGFloat)bottom
  41. {
  42. return self.frame.origin.y + self.frame.size.height;
  43. }
  44. - (void)setBottom:(CGFloat)bottom
  45. {
  46. CGRect frame = self.frame;
  47. frame.origin.y = bottom - frame.size.height;
  48. self.frame = frame;
  49. }
  50. - (CGFloat)width
  51. {
  52. return self.frame.size.width;
  53. }
  54. - (void)setWidth:(CGFloat)width
  55. {
  56. CGRect frame = self.frame;
  57. frame.size.width = width;
  58. self.frame = frame;
  59. }
  60. - (CGFloat)height
  61. {
  62. return self.frame.size.height;
  63. }
  64. - (void)setHeight:(CGFloat)height
  65. {
  66. CGRect frame = self.frame;
  67. frame.size.height = height;
  68. self.frame = frame;
  69. }
  70. - (CGFloat)screenX
  71. {
  72. CGFloat x = 0;
  73. for (UIView* view = self; view; view = view.superview) {
  74. x += view.left;
  75. }
  76. return x;
  77. }
  78. - (CGFloat)screenY
  79. {
  80. CGFloat y = 0;
  81. for (UIView* view = self; view; view = view.superview) {
  82. y += view.top;
  83. }
  84. return y;
  85. }
  86. - (CGPoint)origin
  87. {
  88. return self.frame.origin;
  89. }
  90. - (void)setOrigin:(CGPoint)origin
  91. {
  92. CGRect frame = self.frame;
  93. frame.origin = origin;
  94. self.frame = frame;
  95. }
  96. - (CGFloat)centerX
  97. {
  98. return self.center.x;
  99. }
  100. - (void)setCenterX:(CGFloat)centerX
  101. {
  102. self.center = CGPointMake(centerX, self.center.y);
  103. }
  104. - (CGFloat)centerY
  105. {
  106. return self.center.y;
  107. }
  108. - (void)setCenterY:(CGFloat)centerY
  109. {
  110. self.center = CGPointMake(self.center.x, centerY);
  111. }
  112. - (CGSize)size
  113. {
  114. return self.frame.size;
  115. }
  116. - (void)setSize:(CGSize)size
  117. {
  118. CGRect frame = self.frame;
  119. frame.size = size;
  120. self.frame = frame;
  121. }
  122. @end