Ios 编辑其他单元格时,集合视图自动跳转到第一个单元格

Ios 编辑其他单元格时,集合视图自动跳转到第一个单元格,ios,swift,uiscrollview,uicollectionview,Ios,Swift,Uiscrollview,Uicollectionview,我正在尝试向集合视图单元格输入文本,每当我编辑第二个单元格时,集合视图会在键盘显示时滚动到第一个单元格,故事板上的设置如下: 这是关于文本编辑的代码: func addText() { let textView = UITextView(frame: CGRect(origin: CGPoint.zero, size: CGSize(width: bounds.width * 0.75, height: bounds.height * 0.75))) textView.cen

我正在尝试向集合视图单元格输入文本,每当我编辑第二个单元格时,集合视图会在键盘显示时滚动到第一个单元格,故事板上的设置如下:

这是关于文本编辑的代码:

func addText() {
    let textView = UITextView(frame: CGRect(origin: CGPoint.zero, size: CGSize(width: bounds.width * 0.75, height: bounds.height * 0.75)))
    textView.center = shapeView.center
    textView.delegate = self
    textView.font = .systemFont(ofSize: 32)
    shapeView.addSubview(textView)
    imageButton.removeFromSuperview()
    textButton.removeFromSuperview()
}

func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
    if text == "\n" {
        textView.resignFirstResponder()
        return false
    }
    return true
}

有人能告诉我为什么视图会自动滚动以及如何禁用它吗

我发现了问题,奇怪的是,这是因为集合视图的大小特别大,正如您在添加的屏幕截图中所看到的,它比iPhone和iPad的屏幕宽度都大

虽然我仍然不知道为什么会发生这种情况,但我通过设置
视图
边缘的前后约束,而不是设置固定的宽度,解决了这个问题


谢谢大家的回答

textView委托函数中有什么代码?@Sam我添加了所有functions@BrightFuture你到底想做什么?您是否在tableCell中使用UITextView并试图在其中写入内容?@dahiya_boy是的,我正在集合视图单元格中添加文本,并将这些文本保存到核心data@BrightFuture如果您有故事板,那么为什么不从故事板添加textView而不是调用addText。因为它很容易从情节提要中删除组件。