Swift 实现简单自定义TableViewCell
2014-09-29 14:15
302 查看
自定义cell其实还是比较简单的,个人理解,直接把自己需要的控件添加为子视图就行了。
下面直接给出简单代码块:
TableViewCell.swift代码块如下:
ViewController.swift代码块如下:
以上便是swift中自定义TableViewCell的简单实现,第一次写blog,有错得地方希望大神指教,当然实现自定义TableViewCell的方式不止这一种。
代码链接:http://download.csdn.net/detail/xyybaozhen/7991673
下面直接给出简单代码块:
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
相关文章推荐
- Swift实现自定义TableViewCell
- iOS 中快速简单高效的实现自定义tableViewCell 的方法-亲测实战版本-精华版
- iOS8实现滑动TableViewCell自定义Actions-Swift基础教程
- 1.数据结构(C语言)---自定义数组的简单实现
- 简单的自定义ajax类,实现ajax回调
- 自定义webwork的Intercepter和Result实现简单工作流
- 自定义线程池-c#的简单实现
- 简单自定义实现jQuery验证
- 自定义ORM系列(一)利用attribute实现简单的reader=>entity和reader=>List<entity>映射
- Swing 实现简单的自定义不规则按钮组件
- Swing 实现简单的自定义不规则按钮组件2
- 自定义线程池-c#的简单实现
- 一个简单的自定义ClassLoader的实现
- 自定义实现简单的ClassLoader
- Asp.net MVC 自定义ViewEngine的简单实现
- 简单自定义实现jQuery验证
- 自定义线程池-c#的简单实现
- 自定义线程池-c#的简单实现
- 简单的自定义标签实现树结构的小功能
- 一步一步教你实现简单的自定义错误跟踪