Это ДОЛЖНО быть простым. Вместо этого это смущает меня в течение последнего часа или около того.
Заголовочный файл:
CellBackgroundView - это пользовательский класс, производный от UIView.
@interface CustomCell : UITableViewCell {
CellBackgroundView *customBackgroundView;
}
@property (strong) CellBackgroundView *customBackgroundView;
Код, который не работает должным образом:
Все, что я хочу сделать, это назначить что-то для customBackgroundView.
customBackgroundView = [[CellBackgroundView alloc] initWithFrame:CGRectZero];
[self addSubview:customBackgroundView];
-
Ничего не происходит. В отладчике я вижу, что customBackgroundView имеет значение 0x0. Следующее также не работает, хотя «background» действительно назначается место в памяти. customBackgroundView по-прежнему 0x0.
CellBackgroundView *background = [[CellBackgroundView alloc] initWithFrame:CGRectZero];
customBackgroundView = background.
[self addSubview:customBackgroundView];
Что происходит? Почему это не работает?
У меня включен ARC.
редактирует:
Основой CellBackgroundView является:
- (BOOL) isOpaque {
return NO;
}
-(void)drawRect:(CGRect)aRect {
//Custom drawing code
}
Кроме того, вышеприведенный код работал нормально, когда я использовал официальное свойство backgroundView UITableViewCell.