UITextView自动滚动的解决方案

简介: 思路:UIView加载完成3后,用NSTimer结合setContentOffset将UITextView向下滚动1像素。在滚动到底部的时候停止NSTimer。每当手动滚动UITextView前销毁NSTimer,滚动后重新创建NSTimer。

思路: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

 

相关文章
|
6月前
|
监控
如何解决UICollectionView不能下拉刷新问题
如何解决UICollectionView不能下拉刷新问题
96 0
CollectionView 单个选项卡的滑动
最近在做一个旅行类的项目,里面哟孤儿横向滑动的选项卡功能,乍一看设计图,感觉很简单。横向滑动,CollectionView的flowLayout有这个设置属性,分分钟搞定。后来需求要每次滑动一个选项卡。这就让我有点棘手了,因为心里知道这个应该是要自己去计算偏移量的问题了
UIWebView 自适应高度
UIWebView 自适应高度
52 0
|
开发工具 iOS开发 开发者
活动指示器UIActivityIndicatorView
活动指示器UIActivityIndicatorView
336 0
活动指示器UIActivityIndicatorView
|
iOS开发 开发者
iOS开发中UITableViewCell点击时子视图背景透明的解决方法
iOS开发中UITableViewCell点击时子视图背景透明的解决方法
220 0
iOS开发中UITableViewCell点击时子视图背景透明的解决方法
unity3d-ngui UIScrollView 滚动方向与滚轮相反
生成一个滚动面板之后发现滚轮向上滚,界面向下;滚轮向下界面向上。在编辑窗口里发现这个选项 本来是-2,修改成正数就可以了。   http://ju.outofmemory.cn/entry/146754