iOS模拟中奖名单循环滚动效果

iOS模拟中奖名单循环滚动效果,第1张

概述iOS模拟中奖名单循环滚动效果 本文实例为大家分享了iOS模拟中奖名单循环滚动效果的具体代码,供大家参考,具体内容如下 1.动态效果图: 2.思路: (1)控件:一个父View,依次添加两个tableVew,使其上下紧挨着,高度均等于所有cell的总高度,且加载相同的的数据,父视图的clipsToBounds属性一定要设置为true (2)滚动:使用计时器,调整时间及滚动大小,使展示平滑 (3)循环算法:当A列表滚动出界面时,就把它添加在B列表的下面,B列表滚动出界面时,就把它添加在A列表的下面,形成循环效果 3.Swift版

本文实例为大家分享了iOS模拟中奖名单循环滚动效果的具体代码,供大家参考,具体内容如下

1.动态效果图:

2.思路:

(1)控件:一个父VIEw,依次添加两个tablevew,使其上下紧挨着,高度均等于所有cell的总高度,且加载相同的的数据,父视图的clipsToBounds属性一定要设置为true

(2)滚动:使用计时器,调整时间及滚动大小,使展示平滑

(3)循环算法:当A列表滚动出界面时,就把它添加在B列表的下面,B列表滚动出界面时,就把它添加在A列表的下面,形成循环效果

3.Swift版核心代码(可直接复制粘贴看效果):

import UIKitclass VIEwController: UIVIEwController,UItableVIEwDelegate,UItableVIEwDataSource{ var tableVIEw:UItableVIEw! var doubletableVIEw:UItableVIEw! let kScreenW = UIScreen.main.bounds.size.wIDth let kXPercent = UIScreen.main.bounds.size.wIDth / 375.0 let kborderW = CGfloat(15.0) let kYPercent = UIScreen.main.bounds.size.wIDth / 375.0 let cellID:String = "drawVIEwCell1" overrIDe func vIEwDIDLoad() {  super.vIEwDIDLoad()  self.addListtableVIEw() } func addListtableVIEw(){  let tableWIDth = kScreenW - kborderW*3  let tableBgVIEw = UIVIEw(frame: CGRect(x: (kScreenW-tableWIDth)/2.0,y: 100*kYPercent,wIDth: tableWIDth,height: 148*kYPercent))  tableBgVIEw.clipsToBounds = true  tableBgVIEw.backgroundcolor = UIcolor.yellow  self.vIEw.addSubvIEw(tableBgVIEw)  //  tableVIEw = UItableVIEw(frame: CGRect(x: 0,y: 0,height: 148*kYPercent*2),style: UItableVIEwStyle.plain)  tableVIEw.backgroundcolor = UIcolor.clear  tableVIEw.delegate = self  tableVIEw.dataSource = self  tableVIEw.separatorStyle = UItableVIEwCellSeparatorStyle.none  tableBgVIEw.addSubvIEw(tableVIEw)  doubletableVIEw = UItableVIEw(frame: CGRect(x: 0,y: tableVIEw.frame.origin.y+tableVIEw.frame.size.height,style: UItableVIEwStyle.plain)  doubletableVIEw.backgroundcolor = UIcolor.clear  doubletableVIEw.delegate = self  doubletableVIEw.dataSource = self  doubletableVIEw.separatorStyle = UItableVIEwCellSeparatorStyle.none  tableBgVIEw.addSubvIEw(doubletableVIEw)  //  Timer.scheduledTimer(timeInterval: 0.1,target: self,selector: #selector(personListScroll(timer:)),userInfo: nil,repeats: true) } @objc func personListScroll(timer:Timer){  // 1>移动tableVIEw的frame  var newtableVIEwframe = self.tableVIEw.frame  newtableVIEwframe.origin.y -= 2*kYPercent  if (newtableVIEwframe.origin.y < -(doubletableVIEw.frame.size.height)) {   newtableVIEwframe.origin.y = tableVIEw.frame.size.height  }  self.tableVIEw.frame = newtableVIEwframe  // 2>移动doubletableVIEw的frame  var newDoubleVIEwframe = self.doubletableVIEw.frame  newDoubleVIEwframe.origin.y -= 2*kYPercent  if newDoubleVIEwframe.origin.y < -(tableVIEw.frame.size.height) {   newDoubleVIEwframe.origin.y = tableVIEw.frame.size.height  }  self.doubletableVIEw.frame = newDoubleVIEwframe } //返回行的个数 func tableVIEw(_ tableVIEw: UItableVIEw,numberOfRowsInSection section: Int) -> Int{  return 10 } //返回列的个数 func numberOfSections(in tableVIEw: UItableVIEw) -> Int {  return 1; } //去除头部空白 func tableVIEw(_ tableVIEw: UItableVIEw,heightForheaderInSection section: Int) -> CGfloat {  return 0.001 } //去除尾部空白 func tableVIEw(_ tableVIEw: UItableVIEw,heightForFooterInSection section: Int) -> CGfloat {  return 0.001 } //返回一个cell func tableVIEw(_ tableVIEw: UItableVIEw,cellForRowAt indexPath: IndexPath) -> UItableVIEwCell{  //回收池  var cell:UItableVIEwCell! = tableVIEw.dequeueReusableCell(withIDentifIEr: cellID)  if cell == nil{//判断是否为nil   cell = UItableVIEwCell(style: UItableVIEwCellStyle.default,reuseIDentifIEr: cellID)  }  cell.backgroundcolor = UIcolor.clear  cell.selectionStyle = UItableVIEwCellSelectionStyle.none  if tableVIEw == self.tableVIEw{// 测试是否循环滚动   cell.textLabel?.text = "张先生"  }else {   cell.textLabel?.text = "李小姐"  }  return cell } //返回cell的高度 func tableVIEw(_ tableVIEw: UItableVIEw,heightForRowAt indexPath: IndexPath) -> CGfloat{  return 148/5.0*kYPercent } overrIDe func dIDReceiveMemoryWarning() {  super.dIDReceiveMemoryWarning() }}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

总结

以上是内存溢出为你收集整理的iOS模拟中奖名单循环滚动效果全部内容,希望文章能够帮你解决iOS模拟中奖名单循环滚动效果所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1109809.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存