 
   func setupInputViewData() {
     
+    let bundle = Bundle.imuiInputViewBundle()
+    self.register(UINib(nibName: "IMUIFeatureListIconCell", bundle: bundle), in: .bottom, forCellWithReuseIdentifier: "IMUIFeatureListIconCell")
+    self.register(UINib(nibName: "IMUIFeatureListIconCell", bundle: bundle), in: .right, forCellWithReuseIdentifier: "IMUIFeatureListIconCell")
+    
+    
+    self.registerForFeatureView(UINib(nibName: "IMUIRecordVoiceCell", bundle: bundle),
+                                                forCellWithReuseIdentifier: "IMUIRecordVoiceCell")
+    self.registerForFeatureView(UINib(nibName: "IMUIGalleryContainerCell", bundle: bundle),
+                                                forCellWithReuseIdentifier: "IMUIGalleryContainerCell")
+
+    registerForFeatureView(IMUIEmptyContainerCell.self, forCellWithReuseIdentifier: "IMUIEmptyContainerCell")
+    
+    self.registerForFeatureView(UINib(nibName: "IMUICameraCell", bundle: bundle),
+                                                forCellWithReuseIdentifier: "IMUICameraCell")
+    self.registerForFeatureView(UINib(nibName: "IMUIEmojiCell", bundle: bundle),
+                                                forCellWithReuseIdentifier: "IMUIEmojiCell")
     
     inputBarItemData.bottom.append(IMUIFeatureIconModel(featureType: .voice,
                                                        UIImage.imuiImage(with: "input_item_mic"),
                                                        UIImage.imuiImage(with:"input_item_mic")))
-
+    
     inputBarItemData.bottom.append(IMUIFeatureIconModel(featureType: .gallery,
                                                        UIImage.imuiImage(with: "input_item_photo"),
                                                        UIImage.imuiImage(with:"input_item_photo")))
-
+    
     inputBarItemData.bottom.append(IMUIFeatureIconModel(featureType: .camera,
                                                        UIImage.imuiImage(with: "input_item_camera"),
                                                        UIImage.imuiImage(with:"input_item_camera")))
-
+    
     inputBarItemData.bottom.append(IMUIFeatureIconModel(featureType: .emoji,
                                                       UIImage.imuiImage(with: "input_item_emoji"),
                                                       UIImage.imuiImage(with:"input_item_emoji")))

  
  public func textDidChange(text: String) {
    self.updateSendBtnToPhotoSendStatus()
    self.delegate?.textDidChange?(text: text)
  }
  
  public func keyBoardWillShow(height: CGFloat, durationTime: Double) {

  }
  
  var inputBarItemData = IMUIInputViewData(left: [IMUIFeatureIconModel](),
                                        right: [IMUIFeatureIconModel](),
                                        bottom: [IMUIFeatureIconModel]())
  
  var currentType:IMUIFeatureType = .voice
  public weak var delegate: IMUIInputViewDelegate?
  
  override public init(frame: CGRect) {
    super.init(frame: frame)
