IOS TableView Cell 選中狀態(tài)

//懶加載

-(NSArray *)allColors {

if(_allColors==nil) {

_allColors=@[[UIColorredColor],[UIColorgreenColor],[UIColorblueColor]];

}

return_allColors;

}

- (void)viewDidLoad {

[superviewDidLoad];

self.selectIndex= -1;

}

- (void)didReceiveMemoryWarning {

[superdidReceiveMemoryWarning];

}

#pragma mark - Table view data source

- (NSInteger)numberOfSectionsInTableView:(UITableView*)tableView {

return1;

}

- (NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section {

return50;

}

- (UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath {

UITableViewCell*cell = [tableViewdequeueReusableCellWithIdentifier:@"reuseIdentifier"];

if(cell ==nil) {

cell = [[UITableViewCellalloc]initWithStyle:UITableViewCellStyleDefaultreuseIdentifier:@"reuseIdentifier"];

staticintmyIndex =0;

myIndex++;

NSLog(@"%d",myIndex);

}

UILabel*label = [cell.contentViewviewWithTag:100];

if(label ==nil) {

//創(chuàng)建label并添加到cell的contentView

//自定義內(nèi)容視圖

label = [[UILabelalloc]init];

label.frame=CGRectMake(0,0, tableView.frame.size.width,60);

label.textAlignment=NSTextAlignmentCenter;

label.font= [UIFontsystemFontOfSize:36];

//將創(chuàng)建好的視圖添加到cell的contentView

label.tag=100;

[cell.contentViewaddSubview:label];

}

label.text= [NSStringstringWithFormat:@"當前是第%ld行",indexPath.row];

//設置輔助視圖

/*

UITableViewCellAccessoryDisclosureIndicator,UITableViewCellAccessoryDetailDisclosureButton UITableViewCellAccessoryCheckmark

UITableViewCellAccessoryDetailButton

*/

//cell.accessoryType = UITableViewCellAccessoryCheckmark;

if(indexPath.row!=self.selectIndex){

cell.accessoryType=UITableViewCellAccessoryNone;

}else{

cell.accessoryType=UITableViewCellAccessoryCheckmark;

}

returncell;

}

//默認單元格高度44,但是可以自己通過代理方法修改

-(CGFloat)tableView:(UITableView*)tableView heightForRowAtIndexPath:(NSIndexPath*)indexPath {

return60;

}

//一答

-(void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(nonnullNSIndexPath*)indexPath {

//把選中的行號記錄下來

self.selectIndex= indexPath.row;

//設置選中行的輔助視圖

UITableViewCell*selectCell = [tableViewcellForRowAtIndexPath:indexPath];

selectCell.accessoryType=UITableViewCellAccessoryCheckmark;

}

//哪行被反選該如何處理

-(void)tableView:(UITableView*)tableView didDeselectRowAtIndexPath:(nonnullNSIndexPath*)indexPath {

//取出哪行cell被反選了

UITableViewCell*deselectCell = [tableViewcellForRowAtIndexPath:indexPath];

//設置被反選的cell的輔助視圖

deselectCell.accessoryType=UITableViewCellAccessoryNone;

}

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容