PublishLiveTopView.m 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. //
  2. // PublishLiveTopView.m
  3. // BuguLive
  4. //
  5. // Created by xgh on 2017/8/24.
  6. // Copyright © 2017年 xfg. All rights reserved.
  7. //
  8. #import "PublishLiveTopView.h"
  9. @implementation PublishLiveTopView
  10. - (instancetype)initWithFrame:(CGRect)frame
  11. {
  12. self= [super initWithFrame:frame];
  13. if (self) {
  14. [self locationCityJudge];
  15. self.locationBtn = [self setButtomNormalImage:@"pl_publishlive_nolocation" selectedImage:@"pl_publishlive_location" text:ASLocalizedString(@"开启定位")normalcolor:kAppGrayColor4 selectedColor:kWhiteColor frame:CGRectMake(15, 25, 65, kRealValue(45)) sel:@selector(locationBtnAction:)];
  16. self.locationBtn.selected = YES;
  17. self.isCanLocation = YES;
  18. [self.locationBtn setTitle:[NSString stringWithFormat:@"%@", _locationCityString] forState:UIControlStateSelected];
  19. self.pravicyBtn = [self setButtomNormalImage:@"pl_publishlive_pravicyoff" selectedImage:@"pl_publishlive_pravicyon" text:ASLocalizedString(@"私密")normalcolor:kAppGrayColor4 selectedColor:kWhiteColor frame:CGRectMake(80, 25, kRealValue(60), kRealValue(45)) sel:@selector(pravicyBtnAction:)];
  20. self.pravicyBtn.centerY = self.locationBtn.centerY;
  21. self.pravicyBtn.hidden = YES;
  22. self.passwordBtn = [self setButtomNormalImage:@"pl_publishlive_key_off" selectedImage:@"pl_publishlive_key_on" text:ASLocalizedString(@"密码")normalcolor:kAppGrayColor4 selectedColor:kWhiteColor frame:CGRectMake(self.pravicyBtn.left, 25, kRealValue(60), kRealValue(45)) sel:@selector(passwordBtnAction:)];
  23. self.passwordBtn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
  24. self.passwordBtn.centerY = self.locationBtn.centerY;
  25. self.shopBtn = [self setButtomNormalImage:@"pl_publishlive_shop_off" selectedImage:@"pl_publishlive_shop_on" text:ASLocalizedString(@"购物")normalcolor:kAppGrayColor4 selectedColor:kWhiteColor frame:CGRectMake(self.passwordBtn.right, 25, kRealValue(80), kRealValue(45)) sel:@selector(shopBtnAction:)];
  26. self.shopBtn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
  27. self.shopBtn.centerY = self.locationBtn.centerY;
  28. self.shopBtn.hidden = YES;
  29. if ([[GlobalVariables sharedInstance].appModel.is_open_shop isEqualToString:@"1"]) {
  30. self.shopBtn.hidden = NO;
  31. }
  32. self.classifyBtn = [self setButtomNormalImage:@"pl_publishlive_classify" selectedImage:@"pl_publishlive_classify" text:ASLocalizedString(@"直播分类:请选择")normalcolor:kWhiteColor selectedColor:kWhiteColor frame:CGRectMake(self.locationBtn.left, self.locationBtn.bottom + 36, 200, 20) sel:@selector(classifyBtnAction:)];
  33. self.classifyBtn.imagePosition = QMUIButtonImagePositionRight;
  34. self.classifyBtn.titleLabel.font = [UIFont systemFontOfSize:16];
  35. self.closeBtn = [self setButtomNormalImage:@"pl_publishlive_close" selectedImage:@"pl_publishlive_close" text:@"" normalcolor:kWhiteColor selectedColor:kWhiteColor frame:CGRectMake(self.width - 21 - 10, 36, 20, 20) sel:@selector(closeBtnAction:)];
  36. // [self resetView];
  37. [GlobalVariables sharedInstance].isShop = NO;
  38. }
  39. return self;
  40. }
  41. -(void)resetView{
  42. // CGRectMake(15, 25, 65, kRealValue(45)
  43. [self.locationBtn mas_makeConstraints:^(MASConstraintMaker *make) {
  44. make.left.mas_equalTo(15);
  45. make.top.mas_equalTo(25);
  46. make.height.mas_equalTo(45);
  47. }];
  48. [self.passwordBtn mas_makeConstraints:^(MASConstraintMaker *make) {
  49. make.left.mas_equalTo(self.locationBtn.mas_right).offset(10);
  50. make.top.mas_equalTo(25);
  51. make.height.mas_equalTo(45);
  52. }];
  53. [self.shopBtn mas_makeConstraints:^(MASConstraintMaker *make) {
  54. make.left.mas_equalTo(self.passwordBtn.mas_right).offset(10);
  55. make.top.mas_equalTo(25);
  56. make.height.mas_equalTo(45);
  57. }];
  58. }
  59. - (void)locationBtnAction:(ImageTitleButton *)sender
  60. {
  61. sender.selected = !sender.selected;
  62. self.isCanLocation = sender.selected;
  63. if (!self.isCanLocation) {
  64. [sender setTitle:ASLocalizedString(@"开启定位") forState:UIControlStateNormal];
  65. }
  66. [self resetView];
  67. }
  68. - (void)pravicyBtnAction:(ImageTitleButton *)sender
  69. {
  70. sender.selected = !sender.selected;
  71. self.pravicy = sender.selected;
  72. if (self.delegate && [self.delegate respondsToSelector:@selector(ispracychangeActionDelegate:)]) {
  73. [self.delegate ispracychangeActionDelegate:self.pravicy];
  74. }
  75. }
  76. - (void)passwordBtnAction:(ImageTitleButton *)sender
  77. {
  78. if ([BGUtils isBlankString:self.password]) {
  79. sender.selected = !sender.selected;
  80. }
  81. // self.passwordBtn = sender.selected;
  82. if (self.delegate && [self.delegate respondsToSelector:@selector(clickPasswordActionDelegate:)]) {
  83. [self.delegate clickPasswordActionDelegate:sender.selected];
  84. }
  85. }
  86. - (void)classifyBtnAction:(ImageTitleButton *)sender
  87. {
  88. if (self.delegate && [self.delegate respondsToSelector:@selector(classifyButtonActionDelegate)]) {
  89. [self.delegate classifyButtonActionDelegate];
  90. }
  91. }
  92. -(void)shopBtnAction:(ImageTitleButton *)sender{
  93. sender.selected = !sender.selected;
  94. self.isShop = sender.selected;
  95. [GlobalVariables sharedInstance].isShop = self.isShop;
  96. if (self.delegate && [self.delegate respondsToSelector:@selector(clickShopActionDelegate:)]) {
  97. [self.delegate clickShopActionDelegate:self.isShop];
  98. }
  99. }
  100. - (void)closeBtnAction:(UIButton *)sender
  101. {
  102. if (self.delegate && [self.delegate respondsToSelector:@selector(closeThePublishLive:)]) {
  103. [self.delegate closeThePublishLive:self];
  104. }
  105. }
  106. #pragma mark 获取到地理位置
  107. - (void)locationCityJudge
  108. {
  109. if ( self.BuguLive.province != nil && self.BuguLive.locationCity!=nil)
  110. {
  111. _locationCityString = self.BuguLive.locationCity;
  112. _provinceSrting = self.BuguLive.province;
  113. }
  114. else
  115. {
  116. _locationCityString =[self.BuguLive.appModel.ip_info objectForKey:@"city"];
  117. _provinceSrting =[self.BuguLive.appModel.ip_info objectForKey:@"province"];
  118. }
  119. }
  120. - (QMUIButton *)setButtomNormalImage:(NSString *)image selectedImage:(NSString *)selectedImage text:(NSString *)text normalcolor:(UIColor *)color selectedColor:(UIColor *)selecedColor frame:(CGRect)frame sel:(SEL)sel
  121. {
  122. QMUIButton *button = [QMUIButton buttonWithType:UIButtonTypeCustom];
  123. // [[ImageTitleButton alloc]initWithStyle: EImageLeftTitleRight];
  124. if (sel == @selector(closeBtnAction:)) {
  125. button = [QMUIButton buttonWithType:UIButtonTypeCustom];
  126. }
  127. button.frame = frame;
  128. [button setImage:[UIImage imageNamed:image] forState:UIControlStateNormal];
  129. [button setImage:[UIImage imageNamed:selectedImage] forState:UIControlStateSelected];
  130. [button setTitle:text forState:UIControlStateNormal];
  131. [button addTarget:self action:sel forControlEvents:UIControlEventTouchUpInside];
  132. [button setTitleColor:color forState:UIControlStateNormal];
  133. [button setTitleColor:selecedColor forState:UIControlStateSelected];
  134. [button.titleLabel setFont:[UIFont systemFontOfSize:13]];
  135. button.spacingBetweenImageAndTitle = 5;
  136. button.imagePosition = QMUIButtonImagePositionLeft;
  137. button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
  138. [self addSubview:button];
  139. return button;
  140. }
  141. @end