HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 简单地调用UITextView`sizeThatFits:`会导致毛刺滚动/输入行为?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我发现在iOS 8中使用UITextView sizeThatFits:会导致毛刺滚动行为.文本视图不断滚动远离您键入的行.它似乎滚动到视图的顶部然后再返回.

如果重要,则视图设置为inputAccessoryView.

通过键盘,我将输入:1返回2返回3返回4

我输入4之前的TextView:

在委托方法中,我调用sizeThatFits:.

- (void)textViewDidChange:(UITextView *)textView {
    [textView sizeThatFits:CGSizeMake(100,100)];
}

TextView向上滚动到顶部.输入发生在视图下方.当您键入时,抖动,毛刺的滚动运动到顶部然后回到您的线.输入发生在键盘下方.非常讨厌.

如果我注释掉这条线:

//[textView sizeThatFits:CGSizeMake(100,100)];

现在,当我输入4时,我们在最后一行上输入很好,顺畅:

UIScrollView sizeThatFits:docs状态:

所以我很困惑为什么这会对文本字段的滚动/输入产生任何影响.

有没有办法避免这种毛刺滚动?

如何在不遇到此错误的情况下计算文本视图的“适合高度”?

解决方法

我有完全相同的问题,我花了5个小时来解决这个讨厌的苹果虫,我希望我可以给他们发票!
我最终做的是创建我原来的UItextView的副本:

self.textViewCopy = [[UITextView alloc] initWithFrame:self.textView.frame];
[self.textViewCopy setFont:self.textView.font];

并且不要将其添加为子视图.

然后调用副本上的sizeThatFits(这将搞砸我们不关心的副本并获取我们需要的信息):

[self.textViewCopy setText:self.textView.text];
CGSize size = [self.textViewCopy sizeThatFits:CGSizeMake(fixedWidth,CGFLOAT_MAX)];

大佬总结

以上是大佬教程为你收集整理的ios – 简单地调用UITextView`sizeThatFits:`会导致毛刺滚动/输入行为?全部内容,希望文章能够帮你解决ios – 简单地调用UITextView`sizeThatFits:`会导致毛刺滚动/输入行为?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。