PublishShareV.m 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. //
  2. // PublishShareV.m
  3. // YBVideo
  4. //
  5. // Created by YunBao on 2018/6/25.
  6. // Copyright © 2018年 cat. All rights reserved.
  7. //
  8. #import "PublishShareV.h"
  9. #import <ShareSDK/ShareSDK.h>
  10. #import <ShareSDK/ShareSDK+Base.h>
  11. @interface PublishShareV()
  12. {
  13. float WW;
  14. float HH;
  15. float scrollH;
  16. NSMutableArray *_canSelShareBtnA;
  17. NSString *_selTypeStr;
  18. }
  19. @property(nonatomic,strong)UILabel *desL;
  20. @property(nonatomic,strong)UIScrollView *scrollView;
  21. @property(nonatomic,strong)NSArray *shareArray;
  22. @property(nonatomic,strong)NSArray *titleArray;
  23. @end
  24. @implementation PublishShareV
  25. - (instancetype)initWithFrame:(CGRect)frame
  26. {
  27. self = [super initWithFrame:frame];
  28. if (self) {
  29. WW = frame.size.width;
  30. HH = frame.size.height;
  31. scrollH = HH - 30;
  32. _canSelShareBtnA = [NSMutableArray array];
  33. self.shareArray = [common share_type];
  34. _selTypeStr = @"qx";
  35. NSMutableArray *m_arr = [NSMutableArray array];
  36. for (NSString *share_title in _shareArray) {
  37. NSString *show_title;
  38. if ([share_title isEqual:@"wx"]) {
  39. show_title = YZMsg(@"微信");
  40. }else if ([share_title isEqual:@"wchat"]){
  41. show_title = YZMsg(@"朋友圈");
  42. }else if ([share_title isEqual:@"qzone"]){
  43. show_title = YZMsg(@"QQ空间");
  44. }else if ([share_title isEqual:@"qq"]){
  45. show_title = @"QQ";
  46. }else if ([share_title isEqual:@"facebook"]){
  47. show_title = @"Facebook";
  48. }else if ([share_title isEqual:@"twitter"]){
  49. show_title = YZMsg(@"推特");
  50. }
  51. [m_arr addObject:show_title];
  52. }
  53. _titleArray = [NSArray arrayWithArray:m_arr];
  54. [self addSubview:self.desL];
  55. [self addSubview:self.scrollView];
  56. }
  57. return self;
  58. }
  59. #pragma mark - 点击事件
  60. -(void)clickBtn:(UIButton *)sender {
  61. if ([_selTypeStr isEqual:_shareArray[sender.tag-1000]]) {
  62. sender.selected = NO;
  63. _selTypeStr = @"qx";
  64. }else{
  65. sender.selected = YES;
  66. _selTypeStr = _shareArray[sender.tag-1000];
  67. for (UIButton *btn in _canSelShareBtnA) {
  68. if (btn != sender) {
  69. btn.selected = NO;
  70. }
  71. }
  72. }
  73. if (self.shareEvent) {
  74. self.shareEvent(_selTypeStr);
  75. }
  76. }
  77. #pragma mark - set/get
  78. -(UILabel *)desL {
  79. if (!_desL) {
  80. _desL = [[UILabel alloc]initWithFrame:CGRectMake(15, 0, WW-30, 30)];
  81. _desL.text = YZMsg(@"分享至");
  82. /*
  83. if (self.shareArray.count>4) {
  84. _desL.text = YZMsg(@"分享至(左右滑动显示更多)");
  85. }
  86. */
  87. _desL.textColor = RGB_COLOR(@"#666666", 1);
  88. _desL.font = SYS_Font(15);
  89. _desL.backgroundColor = [UIColor clearColor];
  90. }
  91. return _desL;
  92. }
  93. -(UIScrollView *)scrollView {
  94. if (!_scrollView) {
  95. CGFloat btnW = (WW-30)/4;
  96. _scrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(15, 30, WW-30, scrollH)];
  97. _scrollView.contentSize = CGSizeMake(btnW*_shareArray.count, scrollH);
  98. _scrollView.showsHorizontalScrollIndicator = NO;
  99. CGFloat x=0;
  100. for (int i=0; i<_shareArray.count; i++) {
  101. UIButton *btn = [UIButton buttonWithType:0];
  102. [btn setImage:[UIImage imageNamed:[NSString stringWithFormat:@"分享灰-%@",_shareArray[i]]] forState:0];
  103. [btn setImage:[UIImage imageNamed:[NSString stringWithFormat:@"分享-%@",_shareArray[i]]] forState:UIControlStateSelected];
  104. [btn addTarget:self action:@selector(clickBtn:) forControlEvents:UIControlEventTouchUpInside];
  105. [btn setTitle:_titleArray[i] forState:UIControlStateNormal];
  106. [btn setTitleColor:RGB_COLOR(@"#969696", 1) forState:UIControlStateNormal];
  107. btn.titleLabel.font = SYS_Font(11);
  108. btn.frame = CGRectMake(x,0,btnW,btnW);
  109. btn.selected = NO;
  110. btn.tag = 1000+i;
  111. x+=btnW;
  112. [_scrollView addSubview:btn];
  113. [_canSelShareBtnA addObject:btn];
  114. btn = [PublicObj setUpImgDownText:btn];
  115. }
  116. }
  117. return _scrollView;
  118. }
  119. @end