在 JSQMessagesViewController 中覆盖 JSQMessagesInputToolbar

Override JSQMessagesInputToolbar in JSQMessagesViewController

按下按钮时,我想在现有的 JSQMessagesInputToolbar 新视图上显示带有用于取消的计时器和滑块。

我找到的解决方案之一是覆盖 xib 文件,但是 项目中的所有 UI 都是用 Objective C 编写的,所以没有我可以覆盖的 xib 文件。

能否请您建议替代的编程解决方案来实现它?

谢谢

//MARK:- Input Toolbar Initialization
private func initRightToolBarView() -> Void {

    micButton = UIButton(frame: inputButtonFrame)
    micButton.setImage(CHAT_MIC_BUTTON,for:UIControlState())
    micButton.addTarget(self, action: #selector(startRecording), for: .touchDown)
    micButton.addTarget(self, action: #selector(endRecording), for: .touchUpInside)
    micButton.addTarget(self, action: #selector(cancelRecording), for: .touchDragExit)
    inputToolbar.contentView!.rightBarButtonContainerView!.addSubview(micButton)

    let timerLabelFrame = inputToolbar.contentView!.textView!.frame
    timerLabel = UILabel(frame: timerLabelFrame)
    timerLabel.text = "00:00"
    timerLabel.textAlignment = .center
    timerLabel.isHidden=true
    inputToolbar.contentView!.addSubview(timerLabel)

}

现在当用户开始录制时

    inputToolbar.contentView!.textView!.isHidden = true
    timerLabel.isHidden=false

录制结束时

    inputToolbar.contentView!.textView!.isHidden = false
    timerLabel.isHidden=true