gpt4 book ai didi

ios - layoutIfNeeded 导致崩溃

转载 作者:行者123 更新时间:2023-11-30 10:53:02 27 4
gpt4 key购买 nike

我有一个 UITextView,正在显示文本当文本不是很大时(我说的是 100-200 个单词),应用程序运行得很好

如果文本非常大(大约 10000 个单词),它就会不断崩溃

代码

func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
check(scrollView)
let scrollPos = textView.contentOffset.y

if dragging { return }
if isAppearanceOpened { return }

if scrollPos > 0 {
UIView.animate(withDuration: 0.2, delay: 0, options: .curveEaseInOut, animations: {
if scrollPos <= self.contentOffset {
self.topView.alpha = 1
self.pageView.alpha = 1
self.topViewHeight.constant = 70
} else {
self.topView.alpha = 0
self.pageView.alpha = 0
self.topViewHeight.constant = 0
}
self.view.layoutIfNeeded()
}) { (_) in
if !decelerate { self.recheckEditorPosition() }
}
} else {
UIView.animate(withDuration: 0.2, delay: 0, options: .curveEaseInOut, animations: {
self.topView.alpha = 1
self.pageView.alpha = 1
self.topViewHeight.constant = 70
}) { (_) in
if !decelerate { self.recheckEditorPosition() }
}
}
}

错误

EXC_BAD_ACCESS (code=2, address=0x16d2a7ef0)

控制台很清晰,所以我有点困惑如果我删除 self.view.layoutIfNeedee(),应用程序工作正常,但动画不存在

最佳答案

所以,我的研究得到了结果崩溃是由 textView contentInset 引起的。当左右插入都为0时,它在大文本上运行得很好,我的猜测是textView对齐、字体等的计算相当耗时,所以编译器只是给出了错误。

关于ios - layoutIfNeeded 导致崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54265892/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com