



下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
【移動(dòng)應(yīng)用開發(fā)技術(shù)】iOS如何實(shí)現(xiàn)中獎(jiǎng)名單循環(huán)滾動(dòng)效果
1.動(dòng)態(tài)效果圖:
/upload/information/20200623/126/118334.gif2.思路:import
UIKit
class
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,width:
tableWidth,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,width:
tableWidth,height:
148*kYPercent*2),
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>移動(dòng)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>移動(dòng)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
}
//返回行的個(gè)數(shù)
func
tableView(_
tableView:
UITableView,
numberOfRowsInSection
section:
Int)
->
Int{
return
10
}
//返回列的個(gè)數(shù)
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
}
//返回一個(gè)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{//
測(cè)試是否循環(huán)滾動(dòng)
cell.textLabel?.text
=
"張先生"
}else
{
cell.textLabel?.text
=
"李小姐"
}
return
cell
}
//返回cell的高度
func
tableView(_
tableVie
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025智能產(chǎn)品購(gòu)銷合同范本
- 綠色出行創(chuàng)建行動(dòng)考核評(píng)價(jià)標(biāo)準(zhǔn)
- 新質(zhì)生產(chǎn)力之新
- 2025電纜買賣合同范本
- 小學(xué)三年級(jí)數(shù)學(xué)教案《噸的認(rèn)識(shí)》教學(xué)設(shè)計(jì)
- 頸靜脈球體瘤綜合征的臨床護(hù)理
- 《疲勞強(qiáng)度研究》課件
- 沈陽(yáng)市高中生物試卷及答案
- 上岡實(shí)中九年級(jí)試卷及答案
- 肇慶市實(shí)驗(yàn)中學(xué)高中歷史二:第五單元練習(xí)題評(píng)講教案
- Q∕GDW 12113-2021 邊緣物聯(lián)代理技術(shù)要求
- 電纜溝工程量計(jì)算表(土建)
- 初中數(shù)學(xué)課堂教學(xué)中應(yīng)重視學(xué)生閱讀理解能力的培養(yǎng)
- 中層干部因私出國(guó)境請(qǐng)假審批表
- 濰柴發(fā)動(dòng)機(jī)WD615系列分解圖冊(cè)
- 碎石、砂出廠合格證
- 泵站水錘計(jì)算書
- 中國(guó)城市規(guī)劃設(shè)計(jì)研究院交通評(píng)估收費(fèi)標(biāo)準(zhǔn)
- 配件來(lái)源及報(bào)價(jià)明細(xì)表
- IQC供應(yīng)商品質(zhì)管理看板
- 鋼結(jié)構(gòu)安裝專項(xiàng)方案(電梯井)
評(píng)論
0/150
提交評(píng)論