swift创建tableview

1/  

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

        var col: ViewController = ViewController()

        var nav:UINavigationController = UINavigationController(rootViewController: col)

        window?.rootViewController = nav

        return true

    }


2/  

import UIKit


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")

    }

}


3/


import UIKit


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)

    }

}





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值