我正在创建一个用AVAudioPlayer播放歌曲的应用程序,我设置了一个textView来滚动浏览歌曲的歌词,但是我发现的所有滚动选项都滚动到了大小的底部textView的内容几乎是瞬间完成的。有没有办法控制速度?或者如果我必须在歌曲的持续时间内加载多个scrollRangeToVisible调用,有没有办法让它平滑地动画,而不是从scrollRangeToVisible调用中从一点到另一点“跳跃”?这是我正在使用的代码
scrollPoint.y= [textView.text length];
[textView setContentOffset:scrollPoint animated:YES];
// also tried this
//[textView scrollRangeToVisible:NSMakeRange([textView.text length], 0)];
答案 0 :(得分:5)
如果您将代码设置为在UIView动画块内设置内容偏移量,则可以根据需要设置持续时间。 e.g。
[UIView animateWithDuration: <duration>
animations:^(void) {
self.textView.contentOffset = <offset>;
}];
不要使用-[UIScrollView setContentOffset:animated:]
,因为这会覆盖您的块的动画持续时间