登录 立即注册
金钱:

Code4App-iOS开发-iOS 开源代码库-iOS代码实例搜索-iOS特效示例-iOS代码例子下载-Code4App.com

上下滚动的跑马灯,数据上下循环滚动

[复制链接]
来自: 翱翔66179 分类: iOS精品源码 上传时间: 2016-7-12 09:55:13

项目介绍:

上下滚动的跑马灯,数据上下循环滚动

[Objective-C] 查看源文件 复制代码
#import "ViewController.h"

@interface ViewController ()<UITableViewDataSource,UITableViewDelegate>
@property (weak, nonatomic) IBOutlet UITableView *testTableView;
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *bottomLine;

@property (weak, nonatomic) IBOutlet NSLayoutConstraint *topLine;
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *topLine2;
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *bottomLine2;


@property (strong, nonatomic) CADisplayLink *displayLink;


@property (assign,nonatomic) int count;

@property (strong,nonatomic) NSArray *dataArray;
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    self.count = 0;
    self.testTableView.delegate = self;
    self.testTableView.dataSource = self;

    self.displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(tick:)];
    [self.displayLink addToRunLoop:[NSRunLoop currentRunLoop]
                           forMode:NSDefaultRunLoopMode];
    //测试数据----->将需要展示的数据进行拼接,比如需要展示的数据数组为 @[@"1",@"2",@"3",@"4",@"5"] 那么需要拼接新数组 为 @[@"1",@"2",@"3",@"4",@"5",@"1",@"2",@"3",@"4",@"5"],示例如下
    self.dataArray = [NSArray arrayWithObjects:@"1",@"2",@"3",@"4",@"5",@"1",@"2",@"3",@"4",@"5", nil];

    [self.testTableView setContentOffset:CGPointMake(0, 0) animated:YES];

    self.testTableView.userInteractionEnabled = NO;

}

//CADisplayLink 定时器 系统默认每秒调用60次
- (void) tick:(CADisplayLink *)displayLink {

    self.count ++;
    //(25.0 / 30.0) * (float)self.count) ---> (tableview需要滚动的contentOffset / 一共调用的次数) * 第几次调用
    //比如该demo中 contentOffset最大值为 = cell的高度 * cell的个数 ,5秒执行一个循环则调用次数为 300,没1/60秒 count计数器加1,当count=300时,重置count为0,实现循环滚动.
    [self.testTableView setContentOffset:CGPointMake(0, ((25.0 / 30.0) * (float)self.count)) animated:NO];

    if (self.count >= 300) {

        self.count = 0;
    }
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
}


- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

    return self.dataArray.count;

}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];

    if (cell == nil) {

        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"];
    }

    cell.textLabel.text = self.dataArray[indexPath.row];

    cell.backgroundColor = [UIColor clearColor];
    return cell;
}

- (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {

    return 50;
}

- (void)dealloc {

    [self.displayLink invalidate];
    self.displayLink = nil;

}

@end

DEMO直接下载:
CCPScrollTableVIew .zip (47.85 KB, 下载次数: 315, 售价: 10 金钱)
我来说两句
*滑动验证:
所有评论(13)
胡英俊.App 2016-7-13 17:07:53
很给力,Code4App有你更精彩!
回复
MinJing_Lin 2016-7-15 10:20:12
不错呦,收藏了
回复
翱翔66179 2016-7-15 13:06:48

相互学习
回复
AlittleCoCo 2016-7-19 08:40:39
感谢分享,Code4App有你更精彩
回复
翱翔66179 2016-7-19 09:15:28
AlittleCoCo 发表于 2016-7-19 08:40
感谢分享,Code4App有你更精彩

,相互学习
回复
Jocelyn_ 2016-7-19 10:12:21
强烈支持楼主ing……
回复
adao3056 2016-9-13 10:34:18
给了    很好。。。。。
回复
旧时光 2016-10-28 00:06:50
学习学习
回复
爱iOS的延哥 2016-11-28 16:00:54
感谢分享,Code4App有你更精彩
回复
12下一页
5739 1 0
联系我们
首页/微信公众账号投稿

帖子代码编辑/版权问题

QQ:435399051,742864542


代码贡献英雄榜
用户名 下载数
通过邮件订阅最新 Code4App 信息
上一条 /4 下一条
联系我们
关闭
合作电话:
13802416937
Email:
435399051@qq.com
商务市场合作/投稿
问题反馈及帮助
联系我们

广告投放| Github|申请友链|手机版|Code4App ( 粤ICP备15117877号-1 )

快速回复 返回顶部 返回列表