欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Swift實(shí)現(xiàn)多個(gè)TableView側(cè)滑與切換效果

 更新時(shí)間:2017年11月30日 16:01:30   作者:乞力馬扎羅的雪雪  
這篇文章主要為大家詳細(xì)介紹了Swift實(shí)現(xiàn)多個(gè)TableView側(cè)滑與切換效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

在Android中我們常常使用ListView來(lái)表示列表,來(lái)顯示類似的呈現(xiàn)列表樣式的結(jié)果。來(lái)到iOS中,這種控件稱之為TableView。這里我們將會(huì)通過(guò)使用ScrollView和TableView結(jié)合的方式來(lái)實(shí)現(xiàn)可以側(cè)滑顯示的列表,這將會(huì)大大提高用戶體驗(yàn)。先看一下實(shí)現(xiàn)效果:


。


。

具體實(shí)現(xiàn)步驟如下:

(1)創(chuàng)建一個(gè)iOS項(xiàng)目,Language選擇Swift,然后在Main.storyboard中拖入一個(gè)ScrollView,即滾動(dòng)控件,界面設(shè)計(jì)如圖:

。

(2)然后拖動(dòng)控件綁定到代碼中:

@IBOutlet weak var dynamicScrollView: UIScrollView! 

(3)我將會(huì)在一個(gè)ScrollView中實(shí)現(xiàn)三個(gè)TableView,三個(gè)列表可以通過(guò)手指的左右滑動(dòng)進(jìn)行切換,一些變量定義如下:

var tableView11:UITableView = UITableView() 
var tableView22:UITableView = UITableView() 
var tableView33:UITableView = UITableView() 
 
var cell1 = UITableViewCell() 
var cell2 = UITableViewCell() 
var cell3 = UITableViewCell() 

(4)然后在viewDidLoad()中設(shè)置委托和數(shù)據(jù)源,同時(shí)該類要實(shí)現(xiàn)以下接口:UIScrollViewDelegate,UITableViewDelegate,UITableViewDataSource

override func viewDidLoad() { 
  super.viewDidLoad() 
 
  tableView11.delegate = self 
  tableView11.dataSource = self 
   
  tableView22.delegate = self 
  tableView22.dataSource = self 
   
  tableView33.delegate = self 
  tableView33.dataSource = self 
   
  dynamicScroll() 
  initCustomTableView() 
} 

(5)實(shí)現(xiàn)dynamicScroll()方法,該方法是對(duì)ScrollView控件的滾動(dòng)進(jìn)行控制,同時(shí)把三個(gè)TableView加入到ScrollView中:

func dynamicScroll(){ //動(dòng)態(tài)信息的滾動(dòng); 
  let tableW:CGFloat = self.dynamicScrollView.frame.size.width; 
  let tableH:CGFloat = self.dynamicScrollView.frame.size.height; 
  var tableY:CGFloat = 0; 
  var totalCount:NSInteger = 3;//只有三列; 
 
    var tableView1:UITableView = UITableView(); 
    var tableView2:UITableView = UITableView(); 
    var tableView3:UITableView = UITableView(); 
   
    tableView11.frame = CGRectMake(CGFloat(0) * tableW, tableY, tableW, tableH); 
    tableView22.frame = CGRectMake(CGFloat(1) * tableW, tableY, tableW, tableH); 
    tableView33.frame = CGRectMake(CGFloat(2) * tableW, tableY, tableW, tableH); 
     
    dynamicScrollView.addSubview(tableView11); 
    dynamicScrollView.addSubview(tableView22); 
    dynamicScrollView.addSubview(tableView33); 
   
  let contentW:CGFloat = tableW * CGFloat(totalCount);//這個(gè)表示整個(gè)ScrollView的長(zhǎng)度; 
  dynamicScrollView.contentSize = CGSizeMake(contentW, 0); 
  dynamicScrollView.pagingEnabled = true; 
  dynamicScrollView.delegate = self; 
   
} 

(6)實(shí)現(xiàn)initCustomTableView()方法,該方法是對(duì)TableView的中的Cell設(shè)置ID號(hào),用來(lái)標(biāo)識(shí)不同的TableView :

func initCustomTableView(){  //初始化動(dòng)態(tài)信息中的TableView 
   
  tableView11.registerClass(UITableViewCell.self, forCellReuseIdentifier:"cell1") 
  tableView22.registerClass(UITableViewCell.self, forCellReuseIdentifier:"cell2") 
  tableView33.registerClass(UITableViewCell.self, forCellReuseIdentifier:"cell3") 
} 

(7)最后實(shí)現(xiàn)UITableViewDataSource中的兩個(gè)必須實(shí)現(xiàn)的方法,是對(duì)三個(gè)TableView的數(shù)據(jù)源將進(jìn)行設(shè)置:需要顯示的內(nèi)容可以在這里進(jìn)行添加:

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int{ 
 
 return 5 //返回TableView的Cell數(shù)量,可以動(dòng)態(tài)設(shè)置; 
} 
 
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell{ 
  
 var cell = UITableViewCell() 
  
 switch tableView { 
  
 case tableView11: 
  cell1 = tableView11.dequeueReusableCellWithIdentifier("cell1") as! UITableViewCell 
  cell1.textLabel!.text = String(format:"昨天") 
  cell = cell1 
  break 
 
 case tableView22: 
  cell2 = tableView22.dequeueReusableCellWithIdentifier("cell2") as! UITableViewCell 
  cell2.textLabel!.text = String(format:"今天") 
  cell = cell2 
 
  break 
   
 case tableView33: 
  cell3 = tableView33.dequeueReusableCellWithIdentifier("cell3") as! UITableViewCell 
  cell3.textLabel!.text = String(format:"明天") 
  cell = cell3 
 
  break 
   
 default: 
  break 
 } 
  
 return cell 
} 

(8)最后運(yùn)行程序,就可以實(shí)現(xiàn)本文開頭的多個(gè)TableView在ScrollView中通過(guò)側(cè)滑就可以切換的效果,雖然屏幕大小有限,我們可以通過(guò)視圖的切換顯示豐富的內(nèi)容。

在iOS的開發(fā)中,TableView和ScrollView是兩個(gè)最為常用,使用最為靈活的控件,必須要好好掌握。

github主頁(yè):https://github.com/chenyufeng1991  。歡迎大家訪問(wèn)!

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Swift心得筆記之函數(shù)

    Swift心得筆記之函數(shù)

    函數(shù)是執(zhí)行特定任務(wù)的代碼自包含塊。通過(guò)給定一個(gè)函數(shù)名稱標(biāo)識(shí)它是什么,并在需要的時(shí)候使用該名稱來(lái)調(diào)用函數(shù)以執(zhí)行任務(wù)。今天我們就來(lái)探討下swift中的函數(shù)問(wèn)題。
    2015-04-04
  • 詳解Swift中的函數(shù)及函數(shù)閉包使用

    詳解Swift中的函數(shù)及函數(shù)閉包使用

    Swift的函數(shù)在創(chuàng)建和調(diào)用時(shí)非常簡(jiǎn)潔,在編寫具有閉包特性的函數(shù)時(shí)同樣也相當(dāng)方便,以下我們就來(lái)詳解Swift中的函數(shù)及函數(shù)閉包使用:
    2016-06-06
  • Swift Extension擴(kuò)展得使用詳細(xì)介紹

    Swift Extension擴(kuò)展得使用詳細(xì)介紹

    在swift中,extension與Objective-C的category有點(diǎn)類似,但是extension比起category來(lái)說(shuō)更加強(qiáng)大和靈活,它不僅可以擴(kuò)展某種類型或結(jié)構(gòu)體的方法,同時(shí)它還可以與protocol等結(jié)合使用,編寫出更加靈活和強(qiáng)大的代碼
    2022-09-09
  • Swift數(shù)組詳細(xì)用法解析

    Swift數(shù)組詳細(xì)用法解析

    這篇文章主要為大家詳細(xì)介紹了Swift數(shù)組詳細(xì)用法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • switch多選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)示例詳解

    switch多選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)示例詳解

    這篇文章主要介紹了switch多選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu),本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-12-12
  • Swift教程之方法詳解

    Swift教程之方法詳解

    這篇文章主要介紹了Swift教程之方法詳解,方法是關(guān)聯(lián)到一個(gè)特定類型的函數(shù),類、結(jié)構(gòu)、枚舉所有可以定義實(shí)例方法,封裝特定任務(wù)和功能處理給定類型的一個(gè)實(shí)例,需要的朋友可以參考下
    2015-01-01
  • Swift Set集合及常用方法詳解總結(jié)

    Swift Set集合及常用方法詳解總結(jié)

    Set集合為集類型,集是最簡(jiǎn)單的一種集合,存放于集中的對(duì)象不按特定方式排序,只是簡(jiǎn)單地把對(duì)象加入集合中,類似于向口袋里放東西,對(duì)集中存在的對(duì)象的訪問(wèn)和操作是通過(guò)對(duì)象的引用進(jìn)行的,因此在集中不能存放重復(fù)對(duì)象
    2021-11-11
  • Swift開發(fā)之使用UIRefreshControl實(shí)現(xiàn)下拉刷新數(shù)據(jù)及uirefreshcontrol使用

    Swift開發(fā)之使用UIRefreshControl實(shí)現(xiàn)下拉刷新數(shù)據(jù)及uirefreshcontrol使用

    本文給大家介紹使用UIRefreshControl實(shí)現(xiàn)下拉刷新數(shù)據(jù),及UIRefreshControl的使用步驟,對(duì)本文感興趣的朋友一起學(xué)習(xí)吧
    2015-11-11
  • Swift讀取App的版本信息與PCH文件詳解

    Swift讀取App的版本信息與PCH文件詳解

    這篇文章主要介紹了Swift讀取App的版本信息與PCH文件的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-03-03
  • Swift心得筆記之字符串

    Swift心得筆記之字符串

    Swift 的 String 類型是值類型 。 如果您創(chuàng)建了一個(gè)新的字符串,那么當(dāng)其進(jìn)行常量、變量賦值操作或在函數(shù)/方法中傳遞時(shí),會(huì)進(jìn)行值拷貝。 任何情況下,都會(huì)對(duì)已有字符串值創(chuàng)建新副本,并對(duì)該新副本進(jìn)行傳遞或賦值操作。
    2015-04-04

最新評(píng)論