TUIInputBar Class Reference

Inherits from UIView
Declared in TUIInputBar.h
TUIInputBar.m

Overview

【模块名称】TUIInputBar 【功能说明】TUI 输入条,用于检测、获取用户输入的 UI 组件。 输入条,即位于聊天消息最下方的 UI 组件。包括文本输入框、表情按钮、语音按钮和“+”按钮(“更多”按钮)。 本类配合上述声明的回调委托,能够响应多种交互事件,包括点击输入条的表情、“更多”视图、语音按钮。以及发送消息、发送语音、更改输入高度等。 本类不仅是实现了一个文本输入框中的业务逻辑,同时也是表情、more、和语音视图的逻辑入口。

Other Methods

– initWithFrame:

- (id)initWithFrame:(CGRect)frame

– setupViews

- (void)setupViews

– defaultLayout

- (void)defaultLayout

– layoutButton:

- (void)layoutButton:(CGFloat)height

– clickVoiceBtn:

- (void)clickVoiceBtn:(UIButton *)sender

– clickKeyboardBtn:

- (void)clickKeyboardBtn:(UIButton *)sender

– clickFaceBtn:

- (void)clickFaceBtn:(UIButton *)sender

– clickMoreBtn:

- (void)clickMoreBtn:(UIButton *)sender

– recordBtnDown:

- (void)recordBtnDown:(UIButton *)sender

– recordBtnUp:

- (void)recordBtnUp:(UIButton *)sender

– recordBtnCancel:

- (void)recordBtnCancel:(UIButton *)sender

– recordBtnExit:

- (void)recordBtnExit:(UIButton *)sender

– recordBtnEnter:

- (void)recordBtnEnter:(UIButton *)sender

– textViewDidBeginEditing:

- (void)textViewDidBeginEditing:(UITextView *)textView

– textViewDidChange:

- (void)textViewDidChange:(UITextView *)textView

– textView:shouldChangeTextInRange:replacementText:

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text

– clearInput

清空整个文本输入框中的内容(替换为“”)。

- (void)clearInput

Declared In

TUIInputBar.h

– getInput

获取文本输入框中的内容。

- (NSString *)getInput

Return Value

以字符串形式返回当前输入框中的内容。

Declared In

TUIInputBar.h

– addEmoji:

添加表情 用于实现在当前文本输入框中输入 emoji

- (void)addEmoji:(NSString *)emoji

Parameters

emoji

需要输入的表情的字符串表示形式。

Declared In

TUIInputBar.h

– backDelete

删除函数 删除当前文本输入框中最右侧的字符(替换为“”)。

- (void)backDelete

Declared In

TUIInputBar.h

– startRecord

- (void)startRecord

– recordTick:

- (void)recordTick:(NSTimer *)timer

– stopRecord

- (NSString *)stopRecord

– cancelRecord

- (void)cancelRecord

Other Methods

  lineView

线视图 在视图中的分界线,使得 InputBar 与其他视图在视觉上区分,从而让 InputBar 在显示逻辑上更加清晰有序。

@property (nonatomic, strong) UIView *lineView

Declared In

TUIInputBar.h

  micButton

语音按钮 即在输入条最右侧的,具有“音波”图标的按钮。

@property (nonatomic, strong) UIButton *micButton

Declared In

TUIInputBar.h

  keyboardButton

键盘按钮 即点击表情按钮(“笑脸”)后,笑脸变化后的按钮。

@property (nonatomic, strong) UIButton *keyboardButton

Declared In

TUIInputBar.h

  inputTextView

文本输入视图 即在输入条中占据大部分面积的白色文本输入框 继承自 UITextView

@property (nonatomic, strong) TResponderTextView *inputTextView

Declared In

TUIInputBar.h

  faceButton

表情按钮 即在输入条中的“笑脸”按钮。 对应回调委托中的表情按钮回调。

@property (nonatomic, strong) UIButton *faceButton

Declared In

TUIInputBar.h

  moreButton

更多按钮 即在输入条中的“+”号按钮。 对应回调委托中的“更多”按钮回调。

@property (nonatomic, strong) UIButton *moreButton

Declared In

TUIInputBar.h

  recordButton

录音按钮 在您点击了语音按钮(“声波图标”)后,原本的文本输入框会变成改按钮。 您可以引导用户点击该按钮开始语音的录制,并通过本按钮的回调函数实现声音的录制。

@property (nonatomic, strong) UIButton *recordButton

Declared In

TUIInputBar.h

  delegate

实现 TTextViewDelegate 协议的委托。

@property (nonatomic, weak) id<TTextViewDelegate> delegate

Declared In

TUIInputBar.h

Extension Methods

  record

@property (nonatomic, strong) TUIRecordView *record

  recordStartTime

@property (nonatomic, strong) NSDate *recordStartTime

  recorder

@property (nonatomic, strong) AVAudioRecorder *recorder

  recordTimer

@property (nonatomic, strong) NSTimer *recordTimer