QMChatRoomInputView.m 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. //
  2. // QMChatRoomInputView.m
  3. // IMSDK-OC
  4. //
  5. // Created by HCF on 16/3/9.
  6. // Copyright © 2016年 HCF. All rights reserved.
  7. //
  8. #import "QMChatRoomInputView.h"
  9. @implementation QMChatRoomInputView
  10. - (instancetype)initWithFrame:(CGRect)frame {
  11. self = [super initWithFrame:frame];
  12. if (self) {
  13. self.backgroundColor = [UIColor whiteColor];
  14. self.layer.borderColor = [[UIColor colorWithRed:229/255.0 green:229/255.0 blue:231/255.0 alpha:1] CGColor];
  15. self.layer.borderWidth = 0.5;
  16. [self createView];
  17. }
  18. return self;
  19. }
  20. - (void)createView {
  21. //切换语音按钮
  22. self.voiceButton = [UIButton buttonWithType:UIButtonTypeCustom];
  23. self.voiceButton.frame = CGRectMake(0, 0, kInputViewHeight, kInputViewHeight);
  24. [self.voiceButton setImage:[UIImage imageNamed:@"ToolBar_Voice"] forState:UIControlStateNormal];
  25. [self addSubview: self.voiceButton];
  26. //输入框
  27. self.inputView = [[UITextView alloc] initWithFrame:CGRectMake(50, 8, RQ_SCREEN_WIDTH-140, 34)];
  28. self.inputView.returnKeyType = UIReturnKeySend;
  29. self.inputView.delegate = self;
  30. self.inputView.font = [UIFont systemFontOfSize:18];
  31. self.inputView.backgroundColor = [UIColor whiteColor];
  32. self.inputView.layer.cornerRadius = 17;
  33. self.inputView.layer.masksToBounds = YES;
  34. self.inputView.layer.borderColor = [[UIColor grayColor] CGColor];
  35. self.inputView.layer.borderWidth = 0.5;
  36. [self addSubview:self.inputView];
  37. //录音按钮
  38. self.RecordBtn = [UIButton buttonWithType:UIButtonTypeCustom];
  39. self.RecordBtn.frame = CGRectMake(50, 8, RQ_SCREEN_WIDTH-140, 34);
  40. self.RecordBtn.backgroundColor = [UIColor whiteColor];
  41. self.RecordBtn.hidden = YES;
  42. self.RecordBtn.layer.cornerRadius = 17;
  43. self.RecordBtn.layer.masksToBounds = YES;
  44. self.RecordBtn.layer.borderColor = [[UIColor grayColor] CGColor];
  45. self.RecordBtn.layer.borderWidth = 0.5;
  46. [self.RecordBtn setTitle:NSLocalizedString(@"button.recorder_normal", nil) forState:UIControlStateNormal];
  47. [self.RecordBtn setTitleColor:[UIColor grayColor] forState:UIControlStateNormal];
  48. [self.RecordBtn setTitleColor:[UIColor colorWithRed:50/255.0f green:167/255.0f blue:255/255.0f alpha:1.0] forState:UIControlStateSelected];
  49. self.RecordBtn.hidden = YES;
  50. [self addSubview:self.RecordBtn];
  51. //表情按钮
  52. self.faceButton = [UIButton buttonWithType:UIButtonTypeCustom];
  53. self.faceButton.frame = CGRectMake(RQ_SCREEN_WIDTH-kInputViewHeight*2+20, 0, kInputViewHeight-10, kInputViewHeight);
  54. self.faceButton.tag = 1;
  55. [self.faceButton setImage:[UIImage imageNamed:@"ToolBar_Emotion"] forState:UIControlStateNormal];
  56. [self addSubview: self.faceButton];
  57. //扩展功能按钮
  58. self.addButton = [UIButton buttonWithType:UIButtonTypeCustom];
  59. self.addButton.frame = CGRectMake(RQ_SCREEN_WIDTH-kInputViewHeight+10, 0, kInputViewHeight-10, kInputViewHeight);
  60. self.addButton.tag = 3;
  61. [self.addButton setImage:[UIImage imageNamed:@"ToolBar_Add"] forState:UIControlStateNormal];
  62. [self addSubview: self.addButton];
  63. }
  64. // 开始录音
  65. - (void)startRecord: (UIButton *)sender {
  66. }
  67. // 完成录音
  68. - (void)finishRecord: (UIButton *)sender {
  69. }
  70. // 取消录音
  71. -(void)cancelRecord: (UIButton *)sender {
  72. }
  73. // 显示录音按钮
  74. - (void)showRecordButton: (BOOL)show {
  75. if (show) {
  76. self.inputView.hidden = YES;
  77. self.RecordBtn.hidden = NO;
  78. [self.RecordBtn setTitle:NSLocalizedString(@"button.recorder_normal", nil) forState:UIControlStateNormal];
  79. [self.voiceButton setImage:[UIImage imageNamed:@"ToolBar_Keyboard"] forState:UIControlStateNormal];
  80. [self showEmotionView:NO];
  81. [self showMoreView:NO];
  82. }else {
  83. self.inputView.hidden = NO;
  84. self.RecordBtn.hidden = YES;
  85. self.inputView.inputView = nil;
  86. [self.voiceButton setImage:[UIImage imageNamed:@"ToolBar_Voice"] forState:UIControlStateNormal];
  87. }
  88. }
  89. // 显示表情面板
  90. - (void)showEmotionView: (BOOL)show {
  91. if (show) {
  92. self.faceButton.tag = 2;
  93. [self.faceButton setImage:[UIImage imageNamed:@"ToolBar_Keyboard"] forState:UIControlStateNormal];
  94. [self showRecordButton:NO];
  95. [self showMoreView:NO];
  96. }else {
  97. self.faceButton.tag = 1;
  98. [self.faceButton setImage:[UIImage imageNamed:@"ToolBar_Emotion"] forState:UIControlStateNormal];
  99. }
  100. }
  101. // 显示扩展面板
  102. - (void)showMoreView: (BOOL)show {
  103. if (show) {
  104. self.addButton.tag = 4;
  105. [self showEmotionView:NO];
  106. [self showRecordButton:NO];
  107. }else {
  108. self.addButton.tag = 3;
  109. self.inputView.inputView = nil;
  110. }
  111. }
  112. @end