HKPBotView.m 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. //
  2. // HKPBotView.m
  3. // HKPTimeLine 仿赤兔、微博动态
  4. // CSDN: http://blog.csdn.net/samuelandkevin
  5. // Created by samuelandkevin on 16/9/20.
  6. // Copyright © 2016年 HKP. All rights reserved.
  7. //
  8. #import "HKPBotView.h"
  9. #import "YHWorkGroupButton.h"
  10. @interface HKPBotView()
  11. @property (nonatomic,strong) UIView *viewTopLine;//顶部横线
  12. @property (nonatomic,strong) UIView *viewVLine1;//竖线1
  13. @property (nonatomic,strong) UIView *viewVLine2;//竖线2
  14. @end
  15. @implementation HKPBotView
  16. /*
  17. // Only override drawRect: if you perform custom drawing.
  18. // An empty implementation adversely affects performance during animation.
  19. - (void)drawRect:(CGRect)rect {
  20. // Drawing code
  21. }
  22. */
  23. - (instancetype)initWithFrame:(CGRect)frame{
  24. if (self = [super initWithFrame:frame]) {
  25. [self setup];
  26. }
  27. return self;
  28. }
  29. - (void)setup{
  30. UIView *viewTopLine = [UIView new];
  31. viewTopLine.backgroundColor = RGBCOLOR(222, 222, 222);
  32. [self addSubview:viewTopLine];
  33. self.viewTopLine = viewTopLine;
  34. //评论
  35. YHWorkGroupButton *btnComment = [YHWorkGroupButton new];
  36. [btnComment setTitle:@"0" forState:UIControlStateNormal];
  37. [btnComment setImage:[UIImage imageNamed:@"workgroup_img_comment"] forState:UIControlStateNormal];
  38. [btnComment addTarget:self action:@selector(onComment:) forControlEvents:UIControlEventTouchUpInside];
  39. [self addSubview:btnComment];
  40. self.btnComment = btnComment;
  41. UIView *viewVLine1 = [UIView new];
  42. [self addSubview:viewVLine1];
  43. viewVLine1.backgroundColor = RGBCOLOR(222, 222, 222);
  44. self.viewVLine1 = viewVLine1;
  45. //点赞
  46. YHWorkGroupButton *btnLike = [YHWorkGroupButton new];
  47. [self addSubview:btnLike];
  48. [btnLike setTitle:@"0" forState:UIControlStateNormal];
  49. [btnLike setImage:[UIImage imageNamed:@"workgroup_img_like"] forState:UIControlStateNormal];
  50. [btnLike setImage:[UIImage imageNamed:@"workgroup_img_like_sel"] forState:UIControlStateSelected];
  51. [btnLike addTarget:self action:@selector(onLike:) forControlEvents:UIControlEventTouchUpInside];
  52. self.btnLike = btnLike;
  53. UIView *viewVLine2 = [UIView new];
  54. [self addSubview:viewVLine2];
  55. viewVLine2.backgroundColor = RGBCOLOR(222, 222, 222);
  56. self.viewVLine2 = viewVLine2;
  57. //分享
  58. YHWorkGroupButton *btnShare = [YHWorkGroupButton new];
  59. [btnShare setTitle:ASLocalizedString(@"分享")forState:UIControlStateNormal];
  60. [btnShare setImage:[UIImage imageNamed:@"workgroup_img_share"] forState:UIControlStateNormal];
  61. [btnShare addTarget:self action:@selector(onShare:) forControlEvents:UIControlEventTouchUpInside];
  62. [self addSubview:btnShare];
  63. self.btnShare = btnShare;
  64. [self layoutUI];
  65. }
  66. - (void)layoutUI{
  67. __weak typeof(self) weakSelf = self;
  68. [self.btnComment mas_makeConstraints:^(MASConstraintMaker *make) {
  69. make.left.equalTo(weakSelf);
  70. make.top.equalTo(weakSelf.viewTopLine.mas_bottom);
  71. make.width.equalTo(weakSelf.mas_width).dividedBy(3);
  72. make.bottom.equalTo(weakSelf).offset(-0.5);
  73. }];
  74. [self.btnLike mas_makeConstraints:^(MASConstraintMaker *make) {
  75. make.left.equalTo(weakSelf.btnComment.mas_right);
  76. make.centerY.equalTo(weakSelf.btnComment.mas_centerY);
  77. make.width.mas_equalTo(weakSelf.btnComment.mas_width);
  78. make.height.mas_equalTo(weakSelf.btnComment.mas_height);
  79. }];
  80. [self.btnShare mas_makeConstraints:^(MASConstraintMaker *make) {
  81. make.left.equalTo(weakSelf.btnLike.mas_right);
  82. make.centerY.equalTo(weakSelf.btnComment.mas_centerY);
  83. make.width.mas_equalTo(weakSelf.btnComment.mas_width);
  84. make.height.mas_equalTo(weakSelf.btnComment.mas_height);
  85. }];
  86. [self.viewTopLine mas_makeConstraints:^(MASConstraintMaker *make) {
  87. make.top.mas_equalTo(weakSelf);
  88. make.left.right.equalTo(weakSelf);
  89. make.height.mas_equalTo(0.5);
  90. }];
  91. [self.viewVLine1 mas_makeConstraints:^(MASConstraintMaker *make) {
  92. make.width.mas_equalTo(0.5);
  93. make.centerY.equalTo(weakSelf.btnComment.mas_centerY);
  94. make.right.equalTo(weakSelf.btnComment.mas_right);
  95. make.top.equalTo(weakSelf).offset(10);
  96. make.bottom.equalTo(weakSelf).offset(-10);
  97. }];
  98. [self.viewVLine2 mas_makeConstraints:^(MASConstraintMaker *make) {
  99. make.width.mas_equalTo(0.5);
  100. make.centerY.equalTo(weakSelf.btnComment.mas_centerY);
  101. make.right.equalTo(weakSelf.btnLike.mas_right);
  102. make.top.equalTo(weakSelf.viewVLine1.mas_top);
  103. make.bottom.equalTo(weakSelf.viewVLine1.mas_bottom);
  104. }];
  105. }
  106. #pragma mark - Action
  107. - (void)onShare:(UIButton *)sender{
  108. if (_delegate && [_delegate respondsToSelector:@selector(onShare)]) {
  109. [_delegate onShare];
  110. }
  111. }
  112. - (void)onLike:(UIButton *)sender{
  113. sender.selected = !sender.selected;
  114. if (_delegate && [_delegate respondsToSelector:@selector(onLike)]) {
  115. [_delegate onLike];
  116. }
  117. }
  118. - (void)onComment:(UIButton *)sender{
  119. if (_delegate && [_delegate respondsToSelector:@selector(onComment)]) {
  120. [_delegate onComment];
  121. }
  122. }
  123. @end