1.tableview有兩種展現形式,uitableviewstyleplain和uitableviewstylegrouped
建立tableview
self.tableview = [[uitableview alloc] initwithframe:cgrectmake(0, 0, screen_width,screen_height-44) style:uitableviewstyleplain];
2.設定tableview的**,必須實現的兩個方法設定cell的內容和cell的高度,否則會出現崩潰的現象。
self.table.datasource = self;
self.table.delegate = self;
3.如果有尾部檢視或者頭部檢視,還要設定self.tableview.tableheaderview和self.tableview.tablefooterview
//顯示有多少組
- (nsinteger)numberofsectionsintableview:(uitableview *)tableview
//顯示每組的頭部
-(uiview*)tableview:(uitableview *)tableview viewforheaderinsection:(nsinteger)section
//顯示每組的尾部
-(uiview*)tableview:(uitableview *)tableview viewforfooterinsection:(nsinteger)section
//顯示每組的尾部標題有多高
-(cgfloat)tableview:(uitableview *)tableview heightforfooterinsection:(nsinteger)sectionelse{
[self.table setediting:yes animated:yes];
//對應的行是否可以被編輯
-(bool)tableview:(uitableview *)tableview caneditrowatindexpath:(nsindexpath *)indexpath
//設定編輯風格
-(uitableviewcelleditingstyle)tableview:(uitableview *)tableview editingstyleforrowatindexpath:(nsindexpath *)indexpath{
uitableviewcelleditingstylenone,
uitableviewcelleditingstyledelete,刪除
uitableviewcelleditingstyleinsert新增
//提交編輯(左滑刪除和新增)
- (void)tableview:(uitableview *)tableview commiteditingstyle:(uitableviewcelleditingstyle)editingstyle forrowatindexpath:(nsindexpath *)indexpath {
if (editingstyle == uitableviewcelleditingstyledelete) {//刪除
[self.servicearry removeobjectatindex:indexpath.row];
[self.tableview deleterowsatindexpaths:@[indexpath] withrowanimation:uitableviewrowanimationbottom];//刪除重新整理
else if (editingstyle == uitableviewcelleditingstyleinsert) {//新增
[datas insertobject:@"ab" atindex:indexpath.row];
[self.table insertrowsatindexpaths:@[indexpath] withrowanimation:uitableviewrowanimationbottom];//新增重新整理
//設定是否可以移動
-(bool)tableview:(uitableview *)tableview canmoverowatindexpath:(nsindexpath *)indexpath
//提交移動結果
-(void)tableview:(uitableview *)tableview moverowatindexpath:(nsindexpath *)sourceindexpath toindexpath:(nsindexpath *)destinationindexpath{
//先把要移動的資料儲存
id moveobj = [datas objectatindex:sourceindexpath.row];
//從陣列中刪除要移動的資料
[datas removeobjectatindex:sourceindexpath.row];
//把要移動的資料插入到目標位置
[datas insertobject:moveobj atindex:destinationindexpath.row];
//每行的點選事件
-(void)tableview:(uitableview *)tableview didselectrowatindexpath:(nsindexpath *)indexpath
iOS tableView分割槽 索引
1.建立乙個viewcontroller,new file cocoa touch objective c class class viewcontroller,subclass of uiviewcontroller 2.開啟xib,在view中新增tableview,並將tableview的兩個...
iOS tableView效能優化
什麼時候呼叫 每當有乙個cell進入視野範圍內就會呼叫 uitableviewcell tableview uitableview tableview cellforrowatindexpath nsindexpath indexpath 3.覆蓋資料 cell.textlabel.text nss...
iOS tableView 上下偏移
說一下問題吧,xcode10 向下相容到ios8,ios10以下版本會出現tableview向上或者向下偏移很是煩人。於是山寨了乙個解決方案 該方法適用於向上偏移 void tableview uitableview tableview willdisplaycell uitableviewcell...