文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>UITextView自动滚动的解决方案

UITextView自动滚动的解决方案

时间:2010-10-14  来源:王喆(nasa)

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

 

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载