Ios 如何使容器视图中的表视图在键盘弹出窗口上不反弹?

Ios 如何使容器视图中的表视图在键盘弹出窗口上不反弹?,ios,swift,uitableview,uicontainerview,Ios,Swift,Uitableview,Uicontainerview,我有一个静态表视图控制器,其中一个单元格是容器视图,另一个表视图是动态的。内部表格视图有一个文本字段,点击时,键盘弹出。在主(外部)表视图控制器中,我有下面的函数来更新键盘显示上的约束 func updateConstraints() { let bottom: CGFloat = 0 if let popup = self.addItemPopupView { self.popupBottomContraints?.isActive = false

我有一个静态表视图控制器,其中一个单元格是容器视图,另一个表视图是动态的。内部表格视图有一个文本字段,点击时,键盘弹出。在主(外部)表视图控制器中,我有下面的函数来更新键盘显示上的约束

func updateConstraints() {
    let bottom: CGFloat = 0
    if let popup = self.addItemPopupView {
        self.popupBottomContraints?.isActive = false
        if self.isKeyboardActive {
            self.popupBottomContraints = popup.bottomAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.bottomAnchor,
                                                                       constant: -self.keyboardHeight+bottom)
        } else {
            self.popupBottomContraints = popup.bottomAnchor.constraint(equalTo: self.toolbar.topAnchor, constant: bottom)
        }
        self.popupBottomContraints?.isActive = true
    }
}
但问题是,在键盘显示上,内部表视图跳转到容器视图内的顶部,而主视图控制器本身移动到顶部。如何防止内部表视图完全不移动?我已经为表格视图禁用了滚动、反弹,但它仍然发生


外部表格单元格的动态高度设置为内部表格视图的内容高度,因此无需滚动


对代码进行了一些修改

**replace** self.view.safeAreaLayoutGuide.bottomAnchor **to** self.toolbar.topAnchor. 


func updateConstraints() {
    let bottom: CGFloat = 0
    if let popup = self.addItemPopupView {
        self.popupBottomContraints?.isActive = false
        if self.isKeyboardActive {
            self.popupBottomContraints = popup.bottomAnchor.constraint(equalTo: self.toolbar.topAnchor,
                                                                       constant: -self.keyboardHeight+bottom)
        } else {
            self.popupBottomContraints = popup.bottomAnchor.constraint(equalTo: self.toolbar.topAnchor, constant: bottom)
        }
        self.popupBottomContraints?.isActive = true
    }
}

我通过删除容器视图并直接在主视图控制器中使用表视图解决了这个问题。

在键盘关闭的情况下,内部表视图的行为是什么?在键盘关闭上,没有问题,没有跳跃。主视图只是向下滑动。只需注释updateConstraints方法,然后运行,然后让我知道innerTable视图的行为我尝试过,这是相同的问题。我将视频录制附加到问题,并启用了约束。问题不在updateConstraints中,而是在您的内部tableView中。当用户单击textfield时您做了什么?我有
func textViewDidBeginEditing(utextView:UITextView){self.isHeaderEditing=true;self.tableView.reloadData();}
作为委托方法。