zoukankan      html  css  js  c++  java
  • UITextView自动滚动的解决方案

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

     

  • 相关阅读:
    docker-compose,docker-machine,docker swarm 的简单总结
    linux ubuntu安装好后,开通远程登录
    docker数据卷的使用 -v --volumes--from
    shell脚本中source无效
    模块 shutil
    模块 sys
    模块 os
    模块 random
    模块 datetime,time
    import本质
  • 原文地址:https://www.cnblogs.com/nasa/p/1851505.html
Copyright © 2011-2022 走看看