UIView+MT.m 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. //
  2. // UIView+MT.m
  3. //
  4. //
  5. // Created by Simon on 2019/3/22.
  6. // Copyright © 2019 Simon. All rights reserved.
  7. #import "UIView+MT.h"
  8. @implementation UIView (MT)
  9. #pragma mark -- mt_Frame
  10. #pragma mark - adjust_x
  11. -(void)setMt_x:(CGFloat)mt_x{
  12. CGRect frame = self.frame;
  13. frame.origin.x = mt_x;
  14. self.frame = frame;
  15. }
  16. -(CGFloat)mt_x{
  17. return self.frame.origin.x;
  18. }
  19. #pragma mark - adjust_y
  20. -(void)setMt_y:(CGFloat)mt_y{
  21. CGRect frame = self.frame;
  22. frame.origin.y = mt_y;
  23. self.frame = frame;
  24. }
  25. -(CGFloat)mt_y{
  26. return self.frame.origin.y;
  27. }
  28. #pragma mark - adjust_width
  29. -(void)setMt_width:(CGFloat)mt_width{
  30. CGRect frame = self.frame;
  31. frame.size.width = mt_width;
  32. self.frame = frame;
  33. }
  34. -(CGFloat)mt_width{
  35. return self.frame.size.width;
  36. }
  37. #pragma mark - adjust_height
  38. - (void)setMt_height:(CGFloat)mt_height{
  39. CGRect frame = self.frame;
  40. frame.size.height = mt_height;
  41. self.frame = frame;
  42. }
  43. - (CGFloat)mt_height{
  44. return self.frame.size.height;
  45. }
  46. #pragma mark - adjust_size
  47. -(void)setMt_size:(CGSize)mt_size{
  48. CGRect frame = self.frame;
  49. frame.size = mt_size;
  50. self.frame = frame;
  51. }
  52. - (CGSize)mt_size{
  53. return self.frame.size;
  54. }
  55. #pragma mark - adjust_origin
  56. -(void)setMt_origin:(CGPoint)mt_origin{
  57. CGRect frame = self.frame;
  58. frame.origin = mt_origin;
  59. self.frame = frame;
  60. }
  61. - (CGPoint)mt_origin{
  62. return self.frame.origin;
  63. }
  64. #pragma mark - view本身
  65. - (void) mt_yuanjiao:(CGFloat)radius
  66. {
  67. self.layer.masksToBounds = YES;
  68. self.layer.cornerRadius = radius;
  69. }
  70. - (void) mt_biankuang:(CGFloat) width color:(UIColor *)color
  71. {
  72. self.layer.borderWidth = width;
  73. self.layer.borderColor = color.CGColor;
  74. }
  75. #pragma mark - 针对子view
  76. - (void) mt_closeUserInteractionOfSubViews {
  77. self.userInteractionEnabled = NO;
  78. for (UIView *sbV in self.subviews) {
  79. sbV.userInteractionEnabled = NO;
  80. }
  81. }
  82. - (void) mt_openUserInteractionOfSubViews {
  83. self.userInteractionEnabled = YES;
  84. for (UIView *sbV in self.subviews) {
  85. sbV.userInteractionEnabled = YES;
  86. }
  87. }
  88. - (void) mt_hideAllSubViews
  89. {
  90. for (UIView *view in self.subviews) {
  91. view.hidden = YES;
  92. }
  93. }
  94. - (void) mt_showAllSubViews
  95. {
  96. for (UIView *view in self.subviews) {
  97. view.hidden = NO;
  98. }
  99. }
  100. // 删除
  101. - (void) mt_removeAllSubViews
  102. {
  103. for (UIView *view in self.subviews) {
  104. [view removeFromSuperview];
  105. }
  106. }
  107. /**
  108. * 设置部分圆角(相对布局)
  109. *
  110. * @param corners 需要设置为圆角的角 UIRectCornerTopLeft | UIRectCornerTopRight | UIRectCornerBottomLeft | UIRectCornerBottomRight | UIRectCornerAllCorners
  111. * @param radii 需要设置的圆角大小 例如 CGSizeMake(20.0f, 20.0f)
  112. * @param rect 需要设置的圆角view的rect
  113. */
  114. - (void)addRoundedCorners:(UIRectCorner)corners
  115. withRadii:(CGSize)radii
  116. viewRect:(CGRect)rect {
  117. UIBezierPath* rounded = [UIBezierPath bezierPathWithRoundedRect:rect byRoundingCorners:corners cornerRadii:radii];
  118. CAShapeLayer* shape = [[CAShapeLayer alloc] init];
  119. [shape setPath:rounded.CGPath];
  120. self.layer.mask = shape;
  121. }
  122. -(void)mt_shadowWithShadowColor:(UIColor *)shadowColor
  123. andShadowOffset:(CGSize)shadowOffset
  124. andShadowOpacity:(float)shadowOpacity
  125. andShadowRadius:(float)shadowRadius
  126. andCornerRadius:(float)cornerRadius{
  127. self.layer.shadowColor = shadowColor.CGColor;
  128. self.layer.shadowOffset = shadowOffset;
  129. self.layer.shadowOpacity = shadowOpacity;//透明度
  130. self.layer.shadowRadius = shadowRadius;
  131. self.layer.cornerRadius = cornerRadius;
  132. self.layer.masksToBounds = YES;
  133. self.clipsToBounds = NO;
  134. }
  135. @end