創建UITableView有三種方式:純代碼、XIB和故事板。下面是創建的代碼。
1.創建純代碼
首先實例化UITableView(我所有的創建都是在UIViewController類中完成的)。
lettable view = UITableView(frame:ui screen . main screen()。bounds,style:UITableViewStyle。素色)
tableView.delegate=self
tableView.dataSource=self
self.view.addSubview(表格視圖)
幾種必要的代理方法
func numberOfSectionsInTableView(table view:UITableView)-& gt;Int{
return1
}
func table view(table view:UITableView,numberOfRowsInSection section section:Int)-& gt;Int{
返回3
}
這壹塊是自定義單元格。
func table view(table view:UITableView,cellForRowAtIndexPath index path:NSIndexPath)-& gt;UITableViewCell{
let cell = tycodetableviewcell . codetableviewcell(table view)as!TYCodeTableViewCell
返回單元格
}
下面是用純代碼創建壹個單元格。
TYCodeTableViewCell類:UITableViewCell{
class func codeTableViewCell(table view:UITableView)-& gt;任何對象{
讓ID ="cell"//設置標誌。
Varcell = tableview。dequeuereusablecellwithfidentifier(ID)//從緩存中提取。
If cell ==nil {//創建壹個沒有它的單元格。
cell = TYCodeTableViewCell(style:UITableViewCellStyle。默認,重用標識符:ID)
//如果在此處的單元格中創建其他控件,將會出現亂序。妳最好不要在這裏實現妳的邏輯。
}
返回單元格!//返回單元格
}
覆蓋func awakeFromNib() {
super.awakeFromNib()
//初始化代碼
}
覆蓋func setSelected(selected:Bool,animated:Bool) {
super.setSelected(選定,動畫:動畫)
//配置選定狀態的視圖
}
}
以上是純代碼的創建
XIB的創造
因為我們使用XIB,它的創作與。
lettable view = UITableView(frame:ui screen . main screen()。bounds,style:UITableViewStyle。素色)
tableView.delegate=self
tableView.dataSource=self
self.view.addSubview(表格視圖)
//下面是創建cell的純代碼,類似於註冊XIB。
let nib = ui nib(nib name:" TYXIBTableViewCell ",bundle:nil)
tableView.registerNib(nib,forCellReuseIdentifier:id)
因為上面已經創建好了,我只需要從緩存中提取出來,這裏的自定義單元格是TYXIBTableViewCell。
func table view(table view:UITableView,cellForRowAtIndexPath index path:NSIndexPath)-& gt;UITableViewCell{
let cell:TYXIBTableViewCell =(table view . dequeuereusablecellwithcidentifier(id,forIndexPath: indexPath)) as!TYXIBTableViewCell
返回單元格
}
用故事板創作更加容易。
這裏創建了TableView和單元格代碼,只需從緩存中提取即可。
func table view(table view:UITableView,cellForRowAtIndexPath index path:NSIndexPath)-& gt;UITableViewCell{
let cell:TYStoryboardTableViewCell = table view . dequeuereusesablecellwithcidentifier(" TYStoryboardTableViewCell ",forIndexPath: indexPath) as!TYStoryboardTableViewCell
返回單元格
}
以上是從緩存中提取單元格