效果类似于label从下往上滑(采用uiTableView实现)
时间:2022-04-26
本文章向大家介绍效果类似于label从下往上滑(采用uiTableView实现),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
首先附上效果图
进行描述一下:效果就是类似于是一个竖直方向的滚动视图 并且方向是从下往上 并且能够一直这样循环下去。
代码“
//
// ViewController.m
// demo滚动视图上下
//
// Created by TaoLi on 16/2/24.
// Copyright © 2016年 TaoLi. All rights reserved.
//
#import "ViewController.h"
@interface ViewController ()<UITableViewDataSource,UITableViewDelegate>
@property(nonatomic,strong)UITableView *showTableView;
@property(nonatomic,strong)NSMutableArray *shouDatas;
@property(nonatomic,strong)UIView *testView;
@property(nonatomic,assign)CGFloat count;
@property(nonatomic,strong)NSTimer *myTimer;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
//对数据进行设置
_shouDatas = [[NSMutableArray alloc]init];
for(int i = 0;i<5;i++)
{
[self.shouDatas addObject:[NSString stringWithFormat:@"%d",i]];
}
//对tableview进行设置
_showTableView = [[UITableView alloc]initWithFrame:CGRectMake(100, 100,200 , 44)];
[self.showTableView setSeparatorColor:[UIColor blueColor]];
//[self.showTableView setSeparatorStyle:];
self.showTableView.delegate = self;
self.showTableView.dataSource = self;
[self.view addSubview:self.showTableView];
self.myTimer = [NSTimer scheduledTimerWithTimeInterval:1.5 target:self selector:@selector(scroll:) userInfo:nil repeats:YES];
self.count = 0;
//self.sumCount =[UIScreen mainScreen].bounds.size.height/40;
}
- (void)selectRowAtIndexPath:(nullable NSIndexPath *)indexPath animated:(BOOL)animated scrollPosition:(UITableViewScrollPosition)scrollPosition
{
[self.showTableView scrollToNearestSelectedRowAtScrollPosition:UITableViewScrollPositionBottom animated:YES];
}
//设置每行的单元格的内容
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
//1.根据reuseIdentifier,先到对象池中去找重用的单元格对象
static NSString *reuseIdentifier = @"Cell";
UITableViewCell *cell =[tableView dequeueReusableCellWithIdentifier:reuseIdentifier];
//2.如果没找到,自己创建单元格对象
if(cell == nil)
{
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:reuseIdentifier];
}
cell.textLabel.text = self.shouDatas[indexPath.row];
return cell;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return self.shouDatas.count;
}
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return 40;
}
#pragma mark-定时器的实现方法
-(void)scroll:(NSTimer*)sender
{
if(self.shouDatas.count==self.count)
{
self.count=0;
[self.showTableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]
animated:NO
scrollPosition:UITableViewScrollPositionBottom];
}
else
{
[self.showTableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:self.count inSection:0]
animated:YES
scrollPosition:UITableViewScrollPositionTop];
}
self.count++;
}
-(void)viewWillAppear:(BOOL)animated
{
// //开启定时器
[self.myTimer setFireDate:[NSDate distantPast]];
}
//页面消失,进入后台不显示该页面,关闭定时器
-(void)viewDidDisappear:(BOOL)animated
{
//关闭定时器
[self.myTimer setFireDate:[NSDate distantFuture]];
}
@end
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- P1028 数的计算
- P1598 垂直柱状图
- 递归解决全排列问题
- Codeforces Round #622 (Div. 2)A~~C1
- AtCoder Beginner Contest 156 A~~D
- AtCoder Beginner Contest 155
- Codeforces Round #620 (Div. 2) A~~D
- DFS+记忆化搜索 -- 简单练习
- AtCoder Beginner Contest 154
- map + pair用法练习
- 蛇形矩阵
- 【SpringBoot WebFlux 系列】 header 参数解析
- URL 去重的 6 种方案!(附详细实现代码)
- 原生JS封装拖动验证滑块你会吗?
- 企业远程视频会议云服务EasyRTC-SFU版本支持 https 功能设计逻辑