亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

。

。


。

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

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

。

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

@IBOutlet weak var dynamicScrollView: UIScrollView! 

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

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ù)源,同時該類要實現(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)實現(xiàn)dynamicScroll()方法,該方法是對ScrollView控件的滾動進行控制,同時把三個TableView加入到ScrollView中:

func dynamicScroll(){ //動態(tài)信息的滾動; 
  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);//這個表示整個ScrollView的長度; 
  dynamicScrollView.contentSize = CGSizeMake(contentW, 0); 
  dynamicScrollView.pagingEnabled = true; 
  dynamicScrollView.delegate = self; 
   
} 

(6)實現(xiàn)initCustomTableView()方法,該方法是對TableView的中的Cell設(shè)置ID號,用來標識不同的TableView :

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

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

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int{ 
 
 return 5 //返回TableView的Cell數(shù)量,可以動態(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)最后運行程序,就可以實現(xiàn)本文開頭的多個TableView在ScrollView中通過側(cè)滑就可以切換的效果,雖然屏幕大小有限,我們可以通過視圖的切換顯示豐富的內(nèi)容。

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

github主頁:https://github.com/chenyufeng1991  。歡迎大家訪問!

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

相關(guān)文章

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

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

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

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

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

    Swift Extension擴展得使用詳細介紹

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

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

    這篇文章主要為大家詳細介紹了Swift數(shù)組詳細用法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    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é)合示例代碼給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-12-12
  • Swift教程之方法詳解

    Swift教程之方法詳解

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

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

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

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

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

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

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

    Swift心得筆記之字符串

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

最新評論