在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
情况一:直接新建UITableviewController的情况,这里命名为DiaryTableView.swift 1,删除初始化方法init 2,新建完成后,系统会自动生成很多方法,在UITableView后面带有“ ?”,一律改成“ !”(这里使测试版本的一个不好的地方,估计以后也会有所修改) 3,新建User Interface/Empty,这里命名为DiaryCell.xib,设置identifier,这里我设置成“DiaryCell”(可以自定义名字,这个很重要,在右上角部位设置) 新建swift继承UITableViewCell,这里命名为DiaryCell.swift 通过设置DiaryCell.xib的custom Class为TestCell关联.xib和.swift,并按照你自己的需求关联相关控件(也可以不用关联控件就可以看到效果) 4,回到DiaryTableView.swift,修改下面三个方法,原因下面的注释应该足够详细了,这里不多说了,这样运行结果就该出来了 附上核心代码: override func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath?) -> UITableViewCell? { //cell标志符,使cell能够重用(如果不需要重用,是不是可以有更简单的配置方法?) let indentifier:String = "DiaryCell" //注册自定义cell到tableview中,并设置cell标识符为indentifier(nibName对应UItableviewcell xib的名字) var nib:UINib = UINib(nibName:"DiaryCell", bundle: nil) tableView.registerNib(nib, forCellReuseIdentifier: indentifier) //从tableview中获取标识符为papercell的cell var cell:DiaryCell = tableView.dequeueReusableCellWithIdentifier(indentifier) as DiaryCell //设置单元格属性 return cell }
情况二:在UIViewController中添加UITableview(稍后播出) 1,设置tableviewcell同上 2,初始化UItableview,并设置frame,并self.view.addSubview(tableview) 3,设置代理delegate,dataSource,实现3个必需的代理方法 附上代码: override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. self.tableview.delegate = self self.tableview.dataSource = self } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } func tableView(tableView: UITableView!, numberOfRowsInSection section: Int) -> Int{ return 1 } func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell!{ //cell标志符,使cell能够重用(如果不需要重用,是不是可以有更简单的配置方法?) let indentifier:String = "SwitchCell" //注册自定义cell到tableview中,并设置cell标识符为indentifier(nibName对应UItableviewcell xib的名字) var nib:UINib = UINib(nibName:"SwitchCell", bundle: nil) tableView.registerNib(nib, forCellReuseIdentifier: indentifier) //从tableview中获取标识符为papercell的cell var cell:SwitchCell = tableView.dequeueReusableCellWithIdentifier(indentifier) as SwitchCell return cell } func tableView(tableView: UITableView!, heightForRowAtIndexPath indexPath: NSIndexPath!) -> CGFloat{ return 40 }
|
请发表评论