ios – 简单地调用UITextView`sizeThatFits:`会导致毛刺滚动输入行为?

ios – 简单地调用UITextView`sizeThatFits:`会导致毛刺滚动输入行为?,第1张

概述我发现在iOS 8中使用UITextView sizeThatFits:会导致毛刺滚动行为.文本视图不断滚动远离您键入的行.它似乎滚动到视图的顶部然后再返回. 如果重要,则视图设置为inputAccessoryView. 通过键盘,我将输入:1返回2返回3返回4 我输入4之前的TextView: 在委托方法中,我调用sizeThatFits:. - (void)textViewDidChange: 我发现在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状态:

This method does not resize the receiver.

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

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

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

解决方法 我有完全相同的问题,我花了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:`会导致毛刺滚动/输入行为?所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1027187.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存