Я застрял на том, что, как мне казалось, было бы простой задачей разобраться. У меня есть пользовательская ячейка таблицы, которая содержит объект UITextView. Я хочу, чтобы текст в этом объекте был серым. Когда я устанавливаю цвет в построителе интерфейса, он показывает его как серый, но в симуляторе он остается черным.
Здесь прогон, как он настроен:
- Приложение основано на шаблоне master/detail
- Я создал класс, являющийся подклассом UITableViewCell
- Я добавил два свойства в класс, выход для UILabel и UITextView
- Я изменил ячейку прототипа по умолчанию, добавив UITextView (у нее уже есть UILabel)
- Я изменил класс ячейки прототипа на свой собственный класс ячеек
- Я подключил UITextView и UILabel в ячейке к двум выходам в классе ячеек
Я обновил MasterViewController для заполнения моей пользовательской ячейки. Когда я запускаю симулятор, все работает отлично с точки зрения пользовательских ячеек, отображающих данные.
Как я упоминал ранее, проблема возникает, когда я пытаюсь изменить цвет текста в пользовательской ячейке UITextView. Если я установил его в Light Grey в построителе интерфейса, он не повлияет на симулятор.
Я включил соответствующие фрагменты кода и скриншоты ниже. Я не уверен на 100%, что важно для проблемы, а что нет, если вам нужно увидеть что-то, что я не показал ниже, просто спросите, и я его предоставил.
** РЕДАКТИРОВАТЬ
Когда я выхожу из свойства цвета моего UITextView, он выводит (null). См. Ниже код MasterViewController.m.
Пользовательская ячейка - NTFYNoteCell.h
#import <UIKit/UIKit.h>
@interface NTFYNoteCell : UITableViewCell
@property (weak, nonatomic) IBOutlet UILabel *titleLabel;
@property (weak, nonatomic) IBOutlet UITextView *descriptionText;
@end
Взято из MasterViewController.m:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NTFYNoteCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
NTFYNote *note = _notes[indexPath.row];
cell.titleLabel.text = [note title];
cell.descriptionText.text = [note shortDescription];
NSLog(@"TEXTVIEW: %@", cell.descriptionText);
NSLog(@"TEXT COLOR: %@", cell.descriptionText.textColor); // This outputs (null)
return cell;
}
Отладка из кода выше:
2014-01-19 19:42:52.001 appname[5050:70b] TEXTVIEW: <UITextView: 0xa1bfe00; frame = (14 26; 273 57); text = 'This is a generic descrip...'; clipsToBounds = YES; autoresize = RM+BM; gestureRecognizers = <NSArray: 0x8be0530>; layer = <CALayer: 0x8be1fe0>; contentOffset: {0, 0}>
2014-01-19 19:42:52.001 appname[5050:70b] TEXT COLOR: (null)
2014-01-19 19:42:52.004 appname[5050:70b] TEXTVIEW: <UITextView: 0xa1cd400; frame = (14 26; 273 57); text = 'This is a generic descrip...'; clipsToBounds = YES; autoresize = RM+BM; gestureRecognizers = <NSArray: 0x8b8fb40>; layer = <CALayer: 0x8bf5300>; contentOffset: {0, 0}>
2014-01-19 19:42:52.005 appname[5050:70b] TEXT COLOR: (null)
2014-01-19 19:42:52.007 appname[5050:70b] TEXTVIEW: <UITextView: 0xe17e000; frame = (14 26; 273 57); text = 'This is a generic descrip...'; clipsToBounds = YES; autoresize = RM+BM; gestureRecognizers = <NSArray: 0xd857bb0>; layer = <CALayer: 0xd85d610>; contentOffset: {0, 0}>
2014-01-19 19:42:52.007 appname[5050:70b] TEXT COLOR: (null)
2014-01-19 19:42:52.009 appname[5050:70b] TEXTVIEW: <UITextView: 0x99af200; frame = (14 26; 273 57); text = 'This is a generic descrip...'; clipsToBounds = YES; autoresize = RM+BM; gestureRecognizers = <NSArray: 0x8a81ea0>; layer = <CALayer: 0x8a580c0>; contentOffset: {0, 0}>
2014-01-19 19:42:52.009 appname[5050:70b] TEXT COLOR: (null)
UITextView подключен к розетке в моей пользовательской ячейке:
Цвет шрифта установлен в серый цвет в конструкторе интерфейса:
Как выглядит симулятор iPhone: