@interface ViewController ()
@property (nonatomic, weak) UITableView *tableView;
@property (nonatomic, strong) NSArray *cellForNoClickedArray;// 未点击数据源
@property (nonatomic, strong) NSArray *cellForClickedArray;// 点击数据源
@property (nonatomic, strong) NSMutableArray *selectedStatusArray;// 被点击状态的修改
@end
@implementation ViewController
-(UITableView *)tableView{
if (!_tableView) {
UITableView *tb = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
tb.delegate = self;
tb.dataSource = self;
[self.view addSubview:tb];
_tableView = tb;
}
return _tableView;
}
- (void)viewDidLoad {
[super viewDidLoad];
[self tableView];
self.cellForNoClickedArray = @[@"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",@"i",@"g"];
self.cellForClickedArray = @[@"A",@"B",@"C",@"D",@"E",@"F",@"G",@"H",@"I",@"G"];
self.selectedStatusArray = [NSMutableArray arrayWithArray:@[@"0",@"0",@"0",@"0",@"0",@"0",@"0",@"0",@"0",@"0"]];
}
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
return 60.f;
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return self.cellForNoClickedArray.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *listCell = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:listCell];
if (cell == nil) {
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:listCell];
}
if ([self.selectedStatusArray[indexPath.row] isEqualToString:@"0"]) {
cell.textLabel.text = self.cellForNoClickedArray[indexPath.row];
cell.textLabel.textColor = [UIColor redColor];
}else{
cell.textLabel.text = self.cellForClickedArray[indexPath.row];
cell.textLabel.textColor = [UIColor greenColor];
}
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
if([self.selectedStatusArray[indexPath.row] isEqualToString:@"0"]){
[self.selectedStatusArray replaceObjectAtIndex:indexPath.row withObject:@"1"];
}else{
[self.selectedStatusArray replaceObjectAtIndex:indexPath.row withObject:@"0"];
}
[self.tableView reloadData];
}