swift UITableView具体使用方法

来源:互联网 发布:有线网络ip地址 编辑:程序博客网 时间:2024/06/06 04:17

 

研究了一下tableview的基本功能写了个dome稍后附上git地址

 

 

效果

 

swift <wbr>UITableView具体使用方法  swift <wbr>UITableView具体使用方法   

代码

 

//

// ViewController.swift

// tableview

//

//  Createdby admin on 16/6/2.

// Copyright © 2016ming. All rights reserved.

//

 

import UIKit

 

class ViewController: UIViewController,UITableViewDataSource,UITableViewDelegate{

 

   //屏幕的宽和高

   let width = UIScreen.mainScreen().bounds.width

   let height = UIScreen.mainScreen().bounds.height

 

   let top:CGFloat= 30

   

   @IBOutlet weak var list: UITableView!

   

   let str = ["这是标题1","这是标题2","这是标题3"]

   

   

   override funcviewDidLoad(){

       super.viewDidLoad()

       // Do any additional setup after loading the view, typically from anib.

       

       self.list.delegate= self

       self.list.dataSource= self

       

       let titleFrame:CGRect= CGRectMake(0,top,width,height)

       self.list.frame= titleFrame

       

   }

 

   override funcdidReceiveMemoryWarning(){

       super.didReceiveMemoryWarning()

       // Dispose of any resources that can be recreated.

   }

   // 返回表格行数(也就是返回控件数)

   func tableView(tableView: UITableView,numberOfRowsInSection section: Int)-> Int {

       return str.count

   }

   

   // 创建各单元显示内容(创建参数indexPath指定的单元)

   func tableView(tableView: UITableView,cellForRowAtIndexPath indexPath: NSIndexPath)

       -> UITableViewCell

   {

       let h = height/10

       let titleFrame:CGRect= CGRectMake(0,0,width/2,h)

       let cellFrame:CGRect= CGRectMake(0,0,width,h)

       

       // 为了提供表格显示性能,已创建完成的单元需重复使用

       let identify:String= "TableViewCell"

       // 同一形式的单元格重复使用,在声明时已注册

       let cell = list.dequeueReusableCellWithIdentifier(identify,forIndexPath:indexPath) as!TableViewCell

       

       cell.title.text= str[indexPath.row]

       cell.title.frame= titleFrame

       cell.frame= cellFrame

       return cell

   }

   

   func tableView(tableView: UITableView,didSelectRowAtIndexPath indexPath: NSIndexPath){

       alert(str[indexPath.row])

   }

   //侧滑选项

   func tableView(tableView: UITableView,editActionsForRowAtIndexPath indexPath: NSIndexPath)-> [UITableViewRowAction]?

   {

       let a = UITableViewRowAction(style:.Normal,title: "选项一"){ action, index in

           self.alert("选项一")

       }

       

       a.backgroundColor= UIColor.redColor()

       

       let b = UITableViewRowAction(style:.Normal,title: "选项2"){ (action: UITableViewRowAction!,indexPath: NSIndexPath)-> Void in

           self.alert("选项二")

       }

       

       b.backgroundColor= UIColor.grayColor()

       

       let c = UITableViewRowAction(style:.Normal,title: "选项3"){ action, index in

           self.alert("选项三")

       }

       c.backgroundColor= UIColor.blueColor()

       

       return [a, b, c]

   }

   //返回cell高度

   func tableView(tableView: UITableView,heightForRowAtIndexPath indexPath: NSIndexPath)-> CGFloat {

       

       return height/10

   }

   

   func alert(str:String){

       

       //提示窗

       let alertViewController:UIAlertController= UIAlertController(title:"提示",message:str, preferredStyle: UIAlertControllerStyle.Alert)

       let alertView = UIAlertAction(title:"OK",style: UIAlertActionStyle.Default,handler: nil)

       alertViewController.addAction(alertView)

       self.presentViewController(alertViewController,animated: true,completion: nil)

   }

 

}

 

 

 

 

 

TableViewCell代码

 

import UIKit

 

class TableViewCell: UITableViewCell {

 

 

   @IBOutlet weak var title: UILabel!

   

   override func awakeFromNib() {

       super.awakeFromNib()

       // Initialization code

   }

 

   override func setSelected(selected: Bool,animated: Bool){

       super.setSelected(selected,animated: animated)

 

       // Configure the view for the selected state

   }

 

}

 

补充 设置cell没有点击效果

cell.selectionStyle = UITableViewCellSelectionStyle.None

0 0
原创粉丝点击