Swift 实现简单自定义TableViewCell
来源:互联网 发布:财经重要数据 编辑:程序博客网 时间:2024/06/05 16:37
自定义cell其实还是比较简单的,个人理解,直接把自己需要的控件添加为子视图就行了。
下面直接给出简单代码块:
TableViewCell.swift代码块如下:
class TableViewCell: UITableViewCell { var title:UILabel! var clickBtn:UIButton! override func awakeFromNib() { super.awakeFromNib() } override init(style: UITableViewCellStyle, reuseIdentifier: String?) { super.init(style: style, reuseIdentifier: reuseIdentifier) if !self.isEqual(nil) { title = UILabel(frame: CGRectMake(20, 20, 200, 30)) self.contentView.addSubview(title) clickBtn = UIButton(frame: CGRectMake(200, 20, 60, 30)) clickBtn.setTitle("app", forState: UIControlState.Normal) clickBtn.setTitleColor(UIColor.blueColor(), forState: UIControlState.Normal) clickBtn.setTitleColor(UIColor.whiteColor(), forState: UIControlState.Highlighted) self.contentView.addSubview(clickBtn) } } required init(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } override func setSelected(selected: Bool, animated: Bool) { super.setSelected(selected, animated: animated) }}
ViewController.swift代码块如下:
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate { var table:UITableView! var array = ["item1","item2","item3","item4","item5","item6","item7"] override func viewDidLoad() { super.viewDidLoad() title = "FirstApp" var view: UIView = UIView(frame: self.view.frame) view.backgroundColor = UIColor.whiteColor() self.view.addSubview(view) var leftButton:UIBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Edit, target: self, action:"leftCall:") self.navigationItem.leftBarButtonItem = leftButton var rightButton:UIBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Add, target: self, action: "rightCall:") self.navigationItem.rightBarButtonItem = rightButton var rect = self.view.frame rect.origin.y += 65 table = UITableView(frame: rect) table.registerClass(TableViewCell.self, forCellReuseIdentifier: "cell") self.view.addSubview(table) table.delegate = self table.dataSource = self } func numberOfSectionsInTableView(tableView: UITableView) -> Int { return 1 } func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat { return 60 } func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return array.count } func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { var str:String = "cell" var cell:TableViewCell = tableView.dequeueReusableCellWithIdentifier(str, forIndexPath: indexPath) as TableViewCell if cell.isEqual(nil) { cell = TableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: str) } cell.title.text = array[indexPath.row] cell.clickBtn.tag = indexPath.row cell.clickBtn.removeTarget(self, action: "tableViewCellClicked:", forControlEvents: UIControlEvents.TouchUpInside) cell.clickBtn.addTarget(self, action: "tableViewCellClicked:", forControlEvents: UIControlEvents.TouchUpInside) return cell } func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) { if editingStyle == UITableViewCellEditingStyle.Delete { array.removeAtIndex(indexPath.row) table.reloadData() } } func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { println("clicked at \(indexPath.row)") } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } func leftCall(sender:AnyObject) { table.setEditing(!table.editing, animated: true) var btn:UIBarButtonItem = sender as UIBarButtonItem btn.title = "Done" println("leftButton pressed") } func rightCall(sender:AnyObject) { array.append("新建cell") table.reloadData() println("rightButton pressed") } func tableViewCellClicked(sender:AnyObject) { println("tableViewCell appButton at \((sender as UIButton).tag) clicked") }}
以上便是swift中自定义TableViewCell的简单实现,第一次写blog,有错得地方希望大神指教,当然实现自定义TableViewCell的方式不止这一种。
代码链接:http://download.csdn.net/detail/xyybaozhen/7991673
0 0
- Swift 实现简单自定义TableViewCell
- Swift实现自定义TableViewCell
- swift tableViewCell自定义
- iOS8实现滑动TableViewCell自定义Actions-Swift基础教程
- 【swift】自定义xib 的tableviewcell的使用
- iOS 代码实现自定义TableView 自定义TableViewCell
- swift和storyborad环境下通过xib自定义TableViewCell
- 自定义TableviewCell
- 自定义TableViewCell
- 自定义tableViewcell
- 自定义TableViewcell
- 自定义tableViewCell实现自定义表格(需代码实现)ui中tableviewcell设置成custom
- iOS 中快速简单高效的实现自定义tableViewCell 的方法-亲测实战版本-精华版
- IOS:最简单一个使用自定义的TableViewCell例子
- 用 swift 纯代码自定义 TableViewCell ,以及自定义 cell 在 TableView 中的调用
- [iOS]自定义 TableViewCell 实现圆角/渐变色 TableView
- AutoLayout自定义tableViewCell --- Masonry + UITableView+FDTemplateLayoutCell 纯代码实现
- swift 代理简单实现
- V$UNDOSTAT 和 V$ROLLSTAT
- php HTTP_X_FORWARDED_FOR 和 REMOTE_ADDR的使用
- c#3.0后增加知识总结
- CentOS7安装JDK1.7
- 关于乱码处理遇到的问题
- Swift 实现简单自定义TableViewCell
- J2EE中设置和获取cookie
- Osmdroid 离线地图存放位置的研究和详细分析
- 64位平台C/C++开发注意事项
- 如何查看hadoop程序中自己添加的日志
- C++ Primer 第五版 中文版 练习 12.26 个人code
- QStringLiteral
- Wireshark数据抓包分析——网络协议篇
- CentOS7 U盘安装