思路:UIView加载完成3后,用NSTimer结合setContentOffset将UITextView向下滚动1像素。在滚动到底部的时候停止NSTimer。每当手动滚动UITextView前销毁NSTimer,滚动后重新创建NSTimer。
NSTimer *timer;
- (void)viewDidLoad {
[self performSelector:@selector(resetText) withObject:nil afterDelay:3.0f];
}
- (void)resetText {
[timer invalidate];
timer = nil;
timer = [NSTimer scheduledTimerWithTimeInterval: 0.06
target: self
selector:@selector(onTick:)
userInfo: nil repeats:YES];
}
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
[timer invalidate];
timer = nil;
NSLog(@"scrollViewWillBeginDragging");
[self performSelector:@selector(resetText) withObject:nil afterDelay:3.0f];
}
- (void) onTick:(NSTimer*)theTimer {
CGPoint pt = [textView contentOffset];
CGFloat n = pt.y + 1;
[textView setContentOffset:CGPointMake(pt.x, n)];
if (n> (textView.contentSize.height-textView.bounds.size.height)) {
[theTimer invalidate];
theTimer = nil;
[timer invalidate];
timer = nil;
}
}
最后 不要忘了实现
UIScrollViewDelegate
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有