我有一个大的自定义UITableView
,每行UILabels
,我想显示黑色或绿色的某些文字。
我使用NSString's
中的NSArray
来提供细胞。假设我想仅以黑色显示索引NSString
中的30
。
我正在尝试这样的东西,但它不起作用:
NSIndexPath *indexPathWithBlackText = [NSIndexPath indexPathForRow:30 inSection:[indexPath section]];
if (indexPath.row == indexPathWithBlackText.row) {
//Label with text in black
topLabel.textColor = [UIColor colorWithRed:0.25 green:0.0 blue:0.0 alpha:1.0];
topLabel.highlightedTextColor = [UIColor colorWithRed:1.0 green:1.0 blue:0.9 alpha:1.0];
} else {
//Label with text in green
topLabel.textColor = [UIColor colorWithRed:0.122 green:0.467 blue:0.255 alpha:1.00];
}
任何关于正确方向的提示都将非常感激。谢谢!
答案 0 :(得分:1)
在这个UITableViewDataSource委托方法中:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
写下这个:
if ([self isBlackRow:indexPath.row]) {
// Your label reference, change color to black here.
} else {
// Your label reference, change color to green here.
}
制定方法以确定该行是否为黑色
- (BOOL)isBlackRow:(NSInteger)row {
NSArray* blackRows = [NSArray arrayWithObjects:[NSNumber numberWithInt:30], [NSNumber numberWithInt:11], nil];
for (NSNumber* number in blackRows) {
if (number.intValue == row) {
return YES;
}
}
return NO;
}
答案 1 :(得分:1)
if (indexPath.row > 29) {
//Label with text in black
topLabel.textColor = [UIColor colorWithRed:0.25 green:0.0 blue:0.0 alpha:1.0];
topLabel.highlightedTextColor = [UIColor colorWithRed:1.0 green:1.0 blue:0.9 alpha:1.0];
} else {
//Label with text in green
topLabel.textColor = [UIColor colorWithRed:0.122 green:0.467 blue:0.255 alpha:1.00];
}
答案 2 :(得分:0)
如何将标签添加到表格视图中?
您可能没有引用正确的对象。