效果
源码
https://github.com/YouXianMing/Swift-Animations
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
//
// TableViewTapAnimationController.swift
// Swift-Animations
//
// Created by YouXianMing on 16/8/7.
// Copyright © 2016年 YouXianMing. All rights reserved.
//
import UIKit
class TableViewTapAnimationController: NormalTitleViewController, UITableViewDelegate, UITableViewDataSource {
var adapters : NSMutableArray!
var tableView : UITableView!
override func setup() {
super .setup()
// TableView.
tableView = UITableView(frame: (contentView?.bounds)!)
tableView.dataSource = self
tableView.delegate = self
tableView.separatorStyle = .None
contentView?.addSubview(tableView!)
// Register cell.
TableViewTapAnimationCell.registerToTableView(tableView, cellReuseIdentifier: nil)
// Data source.
adapters = NSMutableArray()
adapters.addObject(TableViewTapAnimationCell.dataAdapterWithData(TapAnimationModel(name: "YouXianMing" , selected: false ), cellHeight: 80 ))
adapters.addObject(TableViewTapAnimationCell.dataAdapterWithData(TapAnimationModel(name: "Animations" , selected: false ), cellHeight: 80 ))
adapters.addObject(TableViewTapAnimationCell.dataAdapterWithData(TapAnimationModel(name: "YoCelsius" , selected: false ), cellHeight: 80 ))
adapters.addObject(TableViewTapAnimationCell.dataAdapterWithData(TapAnimationModel(name: "iOS-Progrommer" , selected: false ), cellHeight: 80 ))
adapters.addObject(TableViewTapAnimationCell.dataAdapterWithData(TapAnimationModel(name: "Design-Patterns" , selected: false ), cellHeight: 80 ))
adapters.addObject(TableViewTapAnimationCell.dataAdapterWithData(TapAnimationModel(name: "Arabia-Terra" , selected: false ), cellHeight: 80 ))
adapters.addObject(TableViewTapAnimationCell.dataAdapterWithData(TapAnimationModel(name: "Swift" , selected: false ), cellHeight: 80 ))
}
// MARK: UITableView's delegate & dataSource.
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return adapters.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
return tableView.dequeueAndLoadContentReusableCellFromAdapter(adapters[indexPath.row] as! CellDataAdapter, indexPath: indexPath)
}
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
tableView.selectedEventWithIndexPath(indexPath)
}
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return (adapters[indexPath.row] as! CellDataAdapter).cellHeight!
}
}
|
以上所述是小编给大家介绍的Swift开发之UITableView状态切换效果,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的,再此也非常感谢大家对服务器之家网站的支持!
原文链接:http://www.cnblogs.com/YouXianMing/p/5745716.html