swift纯代码实现UITableview总结一
在swift中没有了宏定义这个概念,所以在获取屏幕宽高时,可以设置其为常量 let SRC_WIDTH =UIScreen.mainScreen().bounds.width let SRC_HEIGHT =UIScreen.mainScreen().bounds.height swfit创建UITableView和OC中差不多,主要是语法发生了改变的,还有一点就是拆解包问题,不过一般编译器会给出提示 你要实现UiTableView,肯定就少不了要实现它的相关代理方法,在swift中不需要尖括号,只需要在继承的类后面用逗号隔开就可以来,如下所示: class TableViewController:UIViewController,UITableViewDataSource,UITableViewDelegate{},这是系统会报错,不用管,因为你还没有实现它的代理和协议的; 声明UITableView var tableView: UITableView? 在初始化UITableView,如下: /** * 创建UITableView */ func tableViewTest() -> UITableView{ if tableView == nil{ tableView = UITableView(frame: CGRectMake(0,SRC_WIDTH,SRC_HEIGHT),style: UITableViewStyle.Plain) tableView?.delegate = self tableView?.dataSource = self tableView?.showsHorizontalScrollIndicator = false tableView?.showsVerticalScrollIndicator = false tableView?.bounces = false tableView?.tableFooterView = UIView(frame: CGRectMake(0,0))<span style="white-space:pre"> </span>//去除多余的下划线 } return tableView! } UITableView已经创建好了,接下来的就是要实现它的数据源方法的: 分别是: //返回cell的显示的数据 func tableView(tableView:UITableView,cellForRowAtIndexPath indexPath:NSIndexPath) ->UITableViewCell{} //返回当前的Section中row行数 func tableView(tableView:UITableView,numberOfRowsInSection section:Int) -> Int{} //返回当前几个Section func numberOfSectionsInTableView(tableView:UITableView) ->Int{} //选中时方法 func tableView(tableView:UITableView,didSelectRowAtIndexPath indexPath:NSIndexPath){} 显示数据源方法如下: func tableView(tableView: UITableView,cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { var cell = tableView.dequeueReusableCellWithIdentifier("CELL") if cell == nil { cell = UITableViewCell(style: .Default,reuseIdentifier: "CELL") } cell!.selectionStyle = UITableViewCellSelectionStyle.None cell!.textLabel?.text = items![indexPath.row] as? String return cell! }
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |