在Android中我們常常使用ListView來表示列表,來顯示類似的呈現列表樣式的結果。來到iOS中,這種控件稱之為TableView。這裡我們將會通過使用ScrollView和TableView結合的方式來實現可以側滑顯示的列表,這將會大大提高用戶體驗。先看一下實現效果:
。
。
。
具體實現步驟如下:
(1)創建一個iOS項目,Language選擇Swift,然後在Main.storyboard中拖入一個ScrollView,即滾動控件,界面設計如圖:
。
(2)然後拖動控件綁定到代碼中:
@IBOutlet weak var dynamicScrollView: UIScrollView!
var tableView11:UITableView = UITableView() var tableView22:UITableView = UITableView() var tableView33:UITableView = UITableView() var cell1 = UITableViewCell() var cell2 = UITableViewCell() var cell3 = UITableViewCell()
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() }
func dynamicScroll(){ //動態信息的滾動; 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; }
func initCustomTableView(){ //初始化動態信息中的TableView tableView11.registerClass(UITableViewCell.self, forCellReuseIdentifier:cell1) tableView22.registerClass(UITableViewCell.self, forCellReuseIdentifier:cell2) tableView33.registerClass(UITableViewCell.self, forCellReuseIdentifier:cell3) }
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int{ return 5 //返回TableView的Cell數量,可以動態設置; } 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 }
在iOS的開發中,TableView和ScrollView是兩個最為常用,使用最為靈活的控件,必須要好好掌握。