UITableView基本使用 二

2021-07-11 13:28:35 字數 2849 閱讀 8761

上篇部落格講解了uitableview的最基本的使用,這篇部落格做一些補充。

有時候我們需要實現這樣的功能:

1.比如改變系統自帶的選中cell的顏色:

可以在cellforrowatindexpath**方法中建立cell時,自定義乙個uiview,frame等於cell.frame,然後設定這個自定義view的背景色。**如下:

//cell選中時任意顏色

cell.selectedbackgroundview=[[uiview alloc]initwithframe:cell.frame];

cell.selectedbackgroundview.backgroundcolor=[uicolor greencolor];

2.那有時候我們只想在按住cell的時候有自定義顏色,鬆開後又想讓顏色消失(即選中cell時的自定義顏色一閃而過)

那就要在

didselectrowatindexpath**方法中取消選中。**如下:

-(void)tableview:(uitableview *)tableview didselectrowatindexpath:(nsindexpath *)indexpath

3.有時候系統預設高度太小,要改變cell的高度

**如下:

-(cgfloat)tableview:(uitableview *)tableview heightforrowatindexpath:(nsindexpath *)indexpath

cgfloat new_width(cgfloat original)

);// return floor(scale * original);

// cgfloat scale = [uiscreen mainscreen].scale;

return original;

}

這裡注意一下:如果cell的高度是不定的,那應該先計算完高度後再在這裡返回

4.cell右邊顯示乙個箭頭

//右邊箭頭

要實現如下的**方法:

-(void)tableview:(uitableview *)tableview commiteditingstyle:(uitableviewcelleditingstyle)editingstyle forrowatindexpath:(nsindexpath *)indexpath

}//預設是delete,要想變成中文得實現這個方法

-(nsstring *)tableview:(uitableview *)tableview titlefordeleteconfirmationbuttonforrowatindexpath:(nsindexpath *)indexpath

有興趣的可以看看下面完整的**:

#import "viewcontroller.h"

@inte***ce viewcontroller ()@property(nonatomic,strong)uitableview *tableview;

@property(nonatomic,strong)nsmutablearray *datasourcearray;

@end

@implementation viewcontroller

-(uitableview *)tableview

return _tableview;

}-(nsmutablearray *)datasourcearray

return _datasourcearray;

}- (void)viewdidload

-(nsinteger)tableview:(uitableview *)tableview numberofrowsinsection:(nsinteger)section

-(uitableviewcell *)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath *)indexpath

cell.textlabel.text=[nsstring stringwithformat:@"第%@行",self.datasourcearray[indexpath.row]];

return cell;

}-(void)tableview:(uitableview *)tableview commiteditingstyle:(uitableviewcelleditingstyle)editingstyle forrowatindexpath:(nsindexpath *)indexpath

}//預設是delete,要想變成中文得實現這個方法

-(nsstring *)tableview:(uitableview *)tableview titlefordeleteconfirmationbuttonforrowatindexpath:(nsindexpath *)indexpath

-(void)tableview:(uitableview *)tableview didselectrowatindexpath:(nsindexpath *)indexpath

-(cgfloat)tableview:(uitableview *)tableview heightforrowatindexpath:(nsindexpath *)indexpath

@end

效果圖:

iOS開發UITableView基本使用方法總結1

uitableview基本使用方法 1.首先,controller需要實現兩個delegate 分別是uitableviewdelegate 和uitableviewdatasource 2.然後 uitableview物件的 delegate要設定為 self。3.然後就可以實現這些delegat...

UITableView的基本使用方法

uitableview是這樣使用滴 define screen widht uiscreen mainscreen bounds size.width 需要實現倆個 uitableviewdatasource uitableviewdelegate 存放 cell 上各行textlabel值 pro...

UITableView 使用小結

1.對於 numberofsection numberofrowinsection,我們可以設定為其最多數,僅僅需要用兩個方法來確定是否顯示tableview.pragma mark uitableviewdatasource nsinteger numberofsectionsintablevie...