PublishLiveShareView.m 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. //
  2. // PublishLiveShareView.m
  3. // BuguLive
  4. //
  5. // Created by xgh on 2017/8/28.
  6. // Copyright © 2017年 xfg. All rights reserved.
  7. //
  8. #import "PublishLiveShareView.h"
  9. @implementation PublishLiveShareView
  10. - (instancetype)initWithFrame:(CGRect)frame
  11. {
  12. self = [super initWithFrame:frame];
  13. if (self) {
  14. [self addShareImageView];
  15. [self addshareButtons];
  16. }
  17. return self;
  18. }
  19. - (void)addShareImageView
  20. {
  21. _shareImgViewArray = [NSMutableArray array];
  22. if (self.BuguLive.appModel.qq_app_api == 1)
  23. {
  24. [_shareImgViewArray addObject:@[@"pl_publishlive_qq_off",@"pl_publishlive_qq_on"]];
  25. [_shareImgViewArray addObject:@[@"pl_publishlive_quene_off", @"pl_publishlive_quene_on"]];
  26. }
  27. if (self.BuguLive.appModel.wx_app_api == 1)
  28. {
  29. [_shareImgViewArray addObject:@[@"pl_publishlive_wechat_off", @"pl_publishlive_wechat_on"]];
  30. [_shareImgViewArray addObject:@[@"pl_publishlive_friendcyle_off", @"pl_publishlive_friendcyle_on"]];
  31. }
  32. if (self.BuguLive.appModel.sina_app_api == 1)
  33. {
  34. [_shareImgViewArray addObject:@[@"pl_publishlive_sina_off", @"pl_publishlive_sina_on"]];
  35. }
  36. if (self.BuguLive.appModel.fb_app_api == 1)
  37. {
  38. [_shareImgViewArray addObject:@[@"pl_publishlive_sina_off", @"pl_publishlive_sina_on"]];
  39. }
  40. }
  41. - (void)addshareButtons
  42. {
  43. NSUInteger num = self.shareImgViewArray.count;
  44. CGFloat width = 52;
  45. CGFloat space = (self.width - (num * width))/(num + 1);
  46. start_x = space;
  47. if (self.BuguLive.appModel.qq_app_api == 1)
  48. {
  49. [self createTheButtonWithNormal:@"pl_publishlive_qq_off" selected:@"pl_publishlive_qq_on" sel:@selector(QQShareAction:)];
  50. [self createTheButtonWithNormal:@"pl_publishlive_quene_off" selected:@"pl_publishlive_quene_on" sel:@selector(qzoneShareAction:)];
  51. }
  52. if (self.BuguLive.appModel.wx_app_api == 1) {
  53. [self createTheButtonWithNormal:@"pl_publishlive_wechat_off" selected:@"pl_publishlive_wechat_on" sel:@selector(wechatShareAction:)];
  54. [self createTheButtonWithNormal:@"pl_publishlive_friendcyle_off" selected:@"pl_publishlive_friendcyle_on" sel:@selector(weixin_circleShareAction:)];
  55. }
  56. if (self.BuguLive.appModel.sina_app_api == 1) {
  57. [self createTheButtonWithNormal:@"pl_publishlive_sina_off" selected:@"pl_publishlive_sina_on" sel:@selector(sinaShareAction:)];
  58. }
  59. if (self.BuguLive.appModel.fb_app_api == 1) {
  60. [self createTheButtonWithNormal:@"pl_publishlive_sina_off" selected:@"pl_publishlive_sina_on" sel:@selector(fbShareAction:)];
  61. }
  62. self.shareStr = @"";
  63. }
  64. - (UIButton *)createTheButtonWithNormal:(NSString *)normal selected:(NSString *)selected sel:(SEL)sel
  65. {
  66. NSUInteger num = self.shareImgViewArray.count;
  67. CGFloat width = 52;
  68. CGFloat height = 50;
  69. CGFloat space = (self.width - (num * width))/(num + 1);
  70. UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
  71. [button setImage:[UIImage imageNamed:normal] forState:UIControlStateNormal];
  72. [button setImage:[UIImage imageNamed:selected] forState:UIControlStateSelected];
  73. button.frame = CGRectMake(start_x, 0, width, height);
  74. [button addTarget:self action:sel forControlEvents:UIControlEventTouchUpInside];
  75. start_x += width + space;
  76. [self addSubview:button];
  77. return button;
  78. }
  79. - (void)QQShareAction:(UIButton *)sender
  80. {
  81. if (![sender isEqual:self.selectedBtn]) {
  82. self.selectedBtn.selected = NO;
  83. self.selectedBtn = sender;
  84. }
  85. sender.selected = !sender.selected;
  86. if (sender.selected) {
  87. self.shareStr = @"qq";
  88. }else {
  89. self.shareStr = @"";
  90. }
  91. }
  92. - (void)qzoneShareAction:(UIButton *)sender
  93. {
  94. if (![sender isEqual:self.selectedBtn]) {
  95. self.selectedBtn.selected = NO;
  96. self.selectedBtn = sender;
  97. }
  98. sender.selected = !sender.selected;
  99. if (sender.selected) {
  100. self.shareStr = @"qzone";
  101. }else {
  102. self.shareStr = @"";
  103. }
  104. }
  105. - (void)wechatShareAction:(UIButton *)sender
  106. {
  107. if (![sender isEqual:self.selectedBtn]) {
  108. self.selectedBtn.selected = NO;
  109. self.selectedBtn = sender;
  110. }
  111. sender.selected = !sender.selected;
  112. if (sender.selected) {
  113. self.shareStr = @"weixin";
  114. }else {
  115. self.shareStr = @"";
  116. }
  117. }
  118. - (void)weixin_circleShareAction:(UIButton *)sender
  119. {
  120. if (![sender isEqual:self.selectedBtn]) {
  121. self.selectedBtn.selected = NO;
  122. self.selectedBtn = sender;
  123. }
  124. sender.selected = !sender.selected;
  125. if (sender.selected) {
  126. self.shareStr = @"weixin_circle";
  127. }else {
  128. self.shareStr = @"";
  129. }
  130. }
  131. - (void)sinaShareAction:(UIButton *)sender
  132. {
  133. if (![sender isEqual:self.selectedBtn]) {
  134. self.selectedBtn.selected = NO;
  135. self.selectedBtn = sender;
  136. }
  137. sender.selected = !sender.selected;
  138. if (sender.selected) {
  139. self.shareStr = @"sina";
  140. }else {
  141. self.shareStr = @"";
  142. }
  143. }
  144. - (void)fbShareAction:(UIButton *)sender
  145. {
  146. if (![sender isEqual:self.selectedBtn]) {
  147. self.selectedBtn.selected = NO;
  148. self.selectedBtn = sender;
  149. }
  150. sender.selected = !sender.selected;
  151. if (sender.selected) {
  152. self.shareStr = @"facebook";
  153. }else {
  154. self.shareStr = @"";
  155. }
  156. }
  157. - (GlobalVariables *)BuguLive
  158. {
  159. if (!_BuguLive)
  160. {
  161. _BuguLive = [GlobalVariables sharedInstance];
  162. }
  163. return _BuguLive;
  164. }
  165. @end