上篇部落格講解了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...