MOLiveMsgSendView.m 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. //
  2. // MOLiveMsgSendView.m
  3. // MiMoLive
  4. //
  5. // Created by SuperC on 2023/11/19.
  6. //
  7. #import "MOLiveMsgSendView.h"
  8. @interface MOLiveMsgSendView ()<UITextViewDelegate>
  9. @property (weak, nonatomic) IBOutlet BigBtn *gongPingBtn;
  10. @property (weak, nonatomic) IBOutlet BigBtn *danMuBtn;
  11. @property (nonatomic, assign) BOOL isOpenDanMu;
  12. @end
  13. @implementation MOLiveMsgSendView
  14. + (instancetype)moLiveMsgSendView{
  15. return [[[NSBundle mainBundle] loadNibNamed:@"MOLiveMsgSendView" owner:self options:nil] firstObject];
  16. }
  17. - (void)awakeFromNib{
  18. [super awakeFromNib];
  19. self.layer.cornerRadius = 16.0;
  20. self.layer.masksToBounds = YES;
  21. self.layer.maskedCorners = kCALayerMinXMinYCorner | kCALayerMaxXMinYCorner;
  22. self.bgView.layer.cornerRadius = 12.0;
  23. self.bgView.layer.masksToBounds = YES;
  24. self.inputTextView.placeholder = @"Say something";
  25. NSArray *colorArr = @[kBaseColorLeft,kBaseColorRight];
  26. UIImage *image = [MOTools createGradientRectImageWithBounds:CGRectMake(0, 0, 56, 32) Colors:colorArr GradientType:0];
  27. [self.sendBtn setBackgroundImage:image forState:UIControlStateNormal];
  28. [self.sendBtn setTitle:NSLocalString(@"mimo_2_live_msg_send") forState:UIControlStateNormal];
  29. self.sendBtn.layer.cornerRadius = 10.0;
  30. self.sendBtn.layer.masksToBounds = YES;
  31. [self.sendBtn setFont:[MOTextTools poppinsMediumFont:14.0]];
  32. [self.gongPingBtn setTitle:NSLocalString(@"mimo_2_live_msg_normal") forState:UIControlStateNormal];
  33. [self.danMuBtn setTitle:NSLocalString(@"mimo_2_live_msg_dan_mu") forState:UIControlStateNormal];
  34. self.theSwitch.onImage = [UIImage imageNamed:@"icon_contact_man"];
  35. self.theSwitch.offImage = [UIImage imageNamed:@"icon_contact_woman"];
  36. self.isOpenDanMu = NO;
  37. self.inputTextView.returnKeyType = UIReturnKeyDone;
  38. WEAKSELF
  39. self.inputTextView.sendTextBlock = ^{
  40. [weakSelf sendBtnClick:nil];
  41. };
  42. // self.inputTextView.delegate = self;
  43. }
  44. //- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
  45. // if ([text isEqualToString:@"\n"]) {
  46. // [textView resignFirstResponder]; // 隐藏键盘
  47. // [self sendBtnClick:nil];
  48. // return NO; // 防止输入换行符
  49. // }
  50. // return YES;
  51. //}
  52. - (void)clearInputTextViewText
  53. {
  54. [self.inputTextView cleanTheNSAttributedString];
  55. self.inputTextView.text = @"";
  56. [self.remindUserDict removeAllObjects];
  57. }
  58. - (void)setIsOpenDanMu:(BOOL)isOpenDanMu{
  59. _isOpenDanMu = isOpenDanMu;
  60. if(isOpenDanMu){
  61. self.gongPingBtn.selected = NO;
  62. self.danMuBtn.selected = YES;
  63. }
  64. else{
  65. self.gongPingBtn.selected = YES;
  66. self.danMuBtn.selected = NO;
  67. }
  68. }
  69. - (IBAction)openDanMuClick:(BigBtn *)sender {
  70. if(sender == self.gongPingBtn){
  71. self.isOpenDanMu = NO;
  72. // [MBProgressHUD showTipMessageInWindow:NSLocalString(@"mimo_room_dan_mu_close_tip")];
  73. self.inputTextView.placeholder = @"Say something";
  74. }
  75. else{
  76. self.isOpenDanMu = YES;
  77. // [MBProgressHUD showTipMessageInWindow:NSLocalString(@"mimo_room_dan_mu_open_tip")];
  78. self.inputTextView.placeholder = NSLocalString(@"mimo_dan_mu_tips");
  79. }
  80. }
  81. - (IBAction)openDanMu:(UISwitch *)sender {
  82. if(sender.on){
  83. [MBProgressHUD showTipMessageInWindow:NSLocalString(@"mimo_room_dan_mu_open_tip")];
  84. }
  85. else{
  86. [MBProgressHUD showTipMessageInWindow:NSLocalString(@"mimo_room_dan_mu_close_tip")];
  87. }
  88. }
  89. - (IBAction)sendBtnClick:(id)sender {
  90. if(self.inputTextView.text.length > 100){
  91. [MBProgressHUD showTipMessageInWindow:NSLocalString(@"mimo_room_dan_mu_text_limit_tip")];
  92. return;
  93. }
  94. if(self.inputTextView.text.length == 0){
  95. [MBProgressHUD showTipMessageInWindow:NSLocalString(@"mimo_room_dan_mu_text_zero_tip")];
  96. return;
  97. }
  98. NSDictionary *needDict = [NSDictionary dictionary];
  99. if(self.remindUserDict.count > 0){
  100. needDict = [self.remindUserDict copy];
  101. }
  102. self.sendTextBlock ? self.sendTextBlock(self.inputTextView.text, self.isOpenDanMu, needDict) : nil;
  103. }
  104. - (NSMutableDictionary *)remindUserDict{
  105. if(!_remindUserDict){
  106. _remindUserDict = [NSMutableDictionary dictionary];
  107. }
  108. return _remindUserDict;
  109. }
  110. @end