// XiaoxiViewController.swift
// swift table
//
// Created by 翟子健 on 2018/12/12.
// Copyright © 2018年 翟子健. All rights reserved.
//
// 屏幕的宽
let SCREEN_WIDTH1 = UIScreen.main.bounds.size.width
// 屏幕的高
let SCREEN_HEIGHT = UIScreen.main.bounds.size.height
import UIKit
class XiaoxiViewController: UIViewController,UITableViewDataSource,UITableViewDelegate,UISearchBarDelegate {
vartableArr:[String] = ["title","让标","a"]
overridefuncviewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = .orange
lettbv =UITableView(frame:CGRect(x:0, y:115, width:SCREEN_WIDTH1, height:SCREEN_HEIGHT), style: .grouped)
tbv.backgroundColor = UIColor.white
view.addSubview(tbv)
tbv.dataSource=self
tbv.delegate=self
// 此处注册cell
letcellNib =UINib(nibName:"TableViewCell", bundle:nil)
tbv.register(cellNib, forCellReuseIdentifier:"cellID")
letsearchBar =UISearchBar(frame:CGRect(x:0, y:85, width:SCREEN_WIDTH1, height:50))
searchBar.showsCancelButton=true // 取消按钮是否显示
searchBar.delegate=self
self.view.addSubview(searchBar)
}
// cell的个数
functableView(_tableView:UITableView, numberOfRowsInSection section:Int) ->Int{
returntableArr.count
}
// UITableViewCell
functableView(_tableView:UITableView, cellForRowAt indexPath:IndexPath) ->UITableViewCell{
// let cellid = "testCellID"
letcell:TableViewCell= tableView.dequeueReusableCell(withIdentifier:"cellID")as!TableViewCell
cell.Title.text=tableArr[indexPath.row]
cell.HeadImage?.image=UIImage(named:"")
returncell
}
//MARK: UITableViewDelegate
// 设置cell高度
functableView(_tableView:UITableView, heightForRowAt indexPath:IndexPath) ->CGFloat{
return60.0
}
// 选中cell后执行此方法
functableView(_tableView:UITableView, didSelectRowAt indexPath:IndexPath) {
print(indexPath.row)
}
}
你可以使用xib,推荐使用,创建cell,同时创建Xib即可,xib上面可以自定义布局// 注册nib
tableView.registerNib(UINib(nibName: "nibName", bundle: mainBundle), forCellReuseIdentifier: "cellIdentifier")
// 注册类
tableView.registerClass(TableViewCell.self, forCellReuseIdentifier: "cellIdentifier")
// 数据源
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) ->UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cellIdentifier", forIndexPath: indexPath) as! TableViewCell
return cell
}
使用注册类的时候需要手写代码
重写init(style: UITableViewCellStyle, reuseIdentifier: String?)方法,并在里面进行UI设置
ps: 网上搜自定义cell教程还是挺多的
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)