【问题标题】:Scrolling text that is being updated in a UITextViewUITextView 中正在更新的滚动文本
【发布时间】:2012-11-28 10:12:55
【问题描述】:

我使用 NSTimer 来更新 UITextView 中的文本,如果文本不再适合 UITextView 的大小,我还需要此 UITextView 向下滚动。 我一直在寻找答案,但它滚动得太慢了,文本正在更新,但您再也看不到它了,因为它滚动得太慢了。

这是每次 NSTimer 触发时调用的函数,即每 0.05 秒一次:

- (void)addLetters{
     times++;
     self.message.text = [message1 substringToIndex:times];

    [self.message scrollRangeToVisible:NSMakeRange([self.message.text length] -1, 1)];

    if(times == MAX){
       [temp invalidate];
       temp = nil;
    }
}

每次执行时,我都会将字符串 message1 中的一个字母添加到 UITextView self.message

谢谢

【问题讨论】:

  • 你有没有进一步减少延迟并检查过。?
  • 是的,它滚动得更多,但文本更新速度很慢,而且更新时间太长。为什么是这样?滚动 uitextview 是一个非常耗时的方法,以至于在 NSTimer 触发之前没有时间这样做?

标签: objective-c uitextview


【解决方案1】:

试试这个:[textView scrollRectToVisible:CGRectMake(0, textView.contentSize.height-1, 1, 1) animated:NO];

它不会为跳跃设置动画,但由于您多次调用它,结果可能会让您满意。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多