我有一个json的tableview,我希望例如,如果我的标签=法国到不同颜色的单元格,是否可能?如何?
答案 0 :(得分:0)
是的,这是一个极简主义的例子,使用UITableViewController。理想情况下,
中不应该有太多逻辑- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
方法,但这只是一个简单的例子。
#import "TableViewController.h"
@interface TableViewController ()
@property (readonly, nonatomic, strong) NSArray *countriesArray;
@end
@implementation TableViewController
- (id)init {
self = [super init];
if (!self) {
return nil;
}
_countriesArray = @[@"France", @"Germany", @"Spain", @"Norway", @"Denmark", @"United States"];
return self;
}
- (void)viewDidLoad {
[super viewDidLoad];
[self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"Cell"];
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return self.countriesArray.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
if ([self.countriesArray[indexPath.row] isEqualToString:@"France"]) {
cell.backgroundColor = [UIColor grayColor];
}
else {
cell.backgroundColor = [UIColor whiteColor];
}
cell.textLabel.text = self.countriesArray[indexPath.row];
return cell;
}
@end