当用户在UITableView
的文本域单元格中输入不正确的内容时,我想将页脚更改为带有彩色文本的警告,描述错误。除了着色之外,我还能完美地完成它。 我的代码是什么,我做错了,这样文字没有上色?
- (UIView *) tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{
switch (section)
{
// Inspection confirms this case is entered when needed.
case SECTION_VALIDATABLE_FORM:
{
UITableViewHeaderFooterView *warningFooter = [[UITableViewHeaderFooterView alloc] initWithReuseIdentifier:K_FOOTER_WARNING];
UIColor *color = [MyColors uiColorForKey:K_COLOR_TEXT_ERROR]; // inspection confirms this is the UIColor equivalent of #BB2222
[warningFooter.textLabel setTextColor:color];
return warningFooter;
}
// other sections...
}
return nil;
}
答案 0 :(得分:0)
UITableViewHeaderFooterView使用自定义UILabel子类,显然,颜色无法更改。
您应该将UITableViewHeaderFooterView子类化并手动添加自己的标签。
@interface XXTableViewHeaderFooterView : UITableViewHeaderFooterView
@property (nonatomic, strong) UILabel *myLabel;
@end
@implementation XXTableViewHeaderFooterView
- (instancetype)initWithReuseIdentifier:(NSString *)reuseIdentifier;
{
self = [super initWithReuseIdentifier:reuseIdentifier];
if (self) {
_myLabel = [[UILabel alloc] initWithFrame:...];
_myLabel.textColor = ...;
[self.contentView addSubview:_myLabel];
}
return self;
}
@end