RDSBarButtonItem.m 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. //
  2. // RDSBarButtonItem.m
  3. // RuiYuRealEstate
  4. //
  5. // Created by coderYK on 2018/9/6.
  6. // Copyright © 2018年 coderYK. All rights reserved.
  7. //
  8. #import "RDSBarButtonItem.h"
  9. #import "UIImage+Extension.h"
  10. @implementation RDSBarButtonItem
  11. + (instancetype)p_fixSpace:(CGFloat)width {
  12. RDSBarButtonItem *sapce = [[RDSBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace
  13. target:nil action:nil];
  14. sapce.width = width;
  15. return sapce;
  16. }
  17. + (instancetype)fixSpaceReduce5 {
  18. return [self p_fixSpace:-5];
  19. }
  20. + (instancetype)fixSpaceReduce10 {
  21. return [self p_fixSpace:-10];
  22. }
  23. + (instancetype)fixSpace15 {
  24. return [self p_fixSpace:15];
  25. }
  26. + (instancetype)menuBarButtonItemWithTarget:(id)target action:(SEL)action {
  27. return [self barButtonItemWithImage:@"menu" target:target action:action];
  28. }
  29. + (instancetype)messageBarButtonItemWithTarget:(id)target action:(SEL)action {
  30. return [self barButtonItemWithImage:@"message" target:target action:action];
  31. }
  32. + (instancetype)moreBarButtonItemWithTarget:(id)target action:(SEL)action {
  33. UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
  34. button.tintColor = kTextColor;
  35. UIImage *more = [[UIImage imageNamed:@"more"] imageWithRenderingMode:(UIImageRenderingModeAlwaysTemplate)];
  36. [button setBackgroundImage:more forState:UIControlStateNormal];
  37. [button setBackgroundImage:more forState:UIControlStateHighlighted];
  38. //[button sizeToFit];
  39. [button addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];
  40. RDSBarButtonItem *item = [[RDSBarButtonItem alloc] initWithCustomView:button];
  41. return item;
  42. }
  43. + (instancetype)addBarButtonItemWithTarget:(id)target action:(SEL)action {
  44. return [self barButtonItemWithImage:@"nav_add_ic" target:target action:action];
  45. }
  46. + (instancetype)barButtonItemWithImage:(NSString *)imageName target:(id)target action:(SEL)action {
  47. UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
  48. [button setBackgroundImage:[UIImage imageNamed:imageName] forState:UIControlStateNormal];
  49. [button setBackgroundImage:[UIImage imageNamed:imageName] forState:UIControlStateHighlighted];
  50. //[button sizeToFit];
  51. [button addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];
  52. RDSBarButtonItem *item = [[RDSBarButtonItem alloc] initWithCustomView:button];
  53. return item;
  54. }
  55. + (instancetype)saveBarButtonItemWithTarget:(id)target action:(SEL)action {
  56. UIButton *saveBtn = [UIButton buttonWithType:UIButtonTypeCustom];
  57. [saveBtn setTitle:@"保存" forState:UIControlStateNormal];
  58. [saveBtn setTitleColor:RDSThemeColor forState:UIControlStateNormal];
  59. saveBtn.titleLabel.font = [UIFont boldSystemFontOfSize:18];
  60. //[saveBtn sizeToFit];
  61. [saveBtn addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];
  62. RDSBarButtonItem *item = [[RDSBarButtonItem alloc] initWithCustomView:saveBtn];
  63. return item;
  64. }
  65. + (instancetype)barButtonItemWithTitle:(NSString *)title target:(id)target action:(SEL)action {
  66. UIButton *saveBtn = [UIButton buttonWithType:UIButtonTypeCustom];
  67. [saveBtn setTitle:title forState:UIControlStateNormal];
  68. [saveBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
  69. saveBtn.titleLabel.font = [UIFont systemFontOfSize:14];
  70. saveBtn.frame = CGRectMake(0, 0, 50, 32);
  71. saveBtn.layer.cornerRadius = 5;
  72. saveBtn.layer.masksToBounds = YES;
  73. saveBtn.backgroundColor = RDSGreenColor;
  74. //[saveBtn setBackgroundImage:[UIImage rds_imageWithColor:RDSPinkColor toColor:RDSBlueColor imgSize:saveBtn.rds_size] forState:UIControlStateNormal];
  75. //[saveBtn sizeToFit];
  76. [saveBtn addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];
  77. RDSBarButtonItem *item = [[RDSBarButtonItem alloc] initWithCustomView:saveBtn];
  78. return item;
  79. }
  80. + (instancetype)barButtonItemWithTitle:(NSString *)title bgColor:(UIColor *)bgColor target:(id)target action:(SEL)action {
  81. UIButton *saveBtn = [UIButton buttonWithType:UIButtonTypeCustom];
  82. [saveBtn setTitle:title forState:UIControlStateNormal];
  83. [saveBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
  84. saveBtn.titleLabel.font = [UIFont systemFontOfSize:14];
  85. saveBtn.frame = CGRectMake(0, 0, 50, 32);
  86. saveBtn.layer.cornerRadius = 5;
  87. saveBtn.layer.masksToBounds = YES;
  88. saveBtn.backgroundColor = bgColor;
  89. //[saveBtn setBackgroundImage:[UIImage rds_imageWithColor:RDSPinkColor toColor:RDSBlueColor imgSize:saveBtn.rds_size] forState:UIControlStateNormal];
  90. //[saveBtn sizeToFit];
  91. [saveBtn addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];
  92. RDSBarButtonItem *item = [[RDSBarButtonItem alloc] initWithCustomView:saveBtn];
  93. return item;
  94. }
  95. + (instancetype)barButtonItemWithTitle:(NSString *)title color:(UIColor *)color target:(id)target action:(SEL)action{
  96. UIButton *saveBtn = [UIButton buttonWithType:UIButtonTypeCustom];
  97. [saveBtn setTitle:title forState:UIControlStateNormal];
  98. [saveBtn setTitleColor:color forState:UIControlStateNormal];
  99. saveBtn.titleLabel.font = [UIFont boldSystemFontOfSize:16];
  100. //[saveBtn sizeToFit];
  101. [saveBtn addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];
  102. RDSBarButtonItem *item = [[RDSBarButtonItem alloc] initWithCustomView:saveBtn];
  103. return item;
  104. }
  105. @end