编辑另一个单元格时,集合视图会自动跳转到第一个单元格

时间:2017-05-19 04:48:38

标签: 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.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
}

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

1 个答案:

答案 0 :(得分:0)

我发现这个问题很奇怪,因为收集视图的大小非常大,正如您在添加的屏幕截图中看到的那样,它比iPhone和iPad上的屏幕宽度都要大。

虽然我仍然不知道为什么会发生这种情况,但我通过将前导和尾随约束设置为view的边缘而不是设置固定宽度来解决问题。

感谢大家的回答!