Изменение размера UITableViewCell ширины содержимого.
Я хочу сделать ширину UITableViewCell равной 280 и начать с (20,0)
это означает, что для ячейки должно быть 20 точек на оси X.
Однако, когда я изменяю фрейм просмотра содержимого ячейки таблицы - вся ячейка находится за каким-то черным квадратом нужного мне размера, и моя новая ячейка выглядит следующим образом
Это мой код для этого: в моем viewDidLoad таблицы ViewController
[tableView registerNib:[UINib nibWithNibName:[self layoutName] bundle:[NSBundle mainBundle]] forCellReuseIdentifier:[self cellIdentifier]];
инициализация ячейки
-(void)initialize{
// [self setBackgroundColor:[UIColor clearColor]];
// [self setTintColor:[UIColor clearColor]];
self.backgroundView = [[WBChildCellBackground alloc]initWithFrame:CGRectInset([self frame], 20, 0)];
[self.backgroundView setHidden:YES];
self.contentView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin;
self.autoresizingMask =UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin;
self.contentView.contentMode = UIViewContentModeRedraw;
self.autoresizesSubviews = YES;
self.contentView.autoresizesSubviews = YES;
self.contentMode = UIViewContentModeRedraw;
self.originalFrame = self.frame;
}
И тогда я называю этот код:
-(void)layoutSubviews{
[super layoutSubviews];
CGRect frame = self.bounds;
frame.origin.x = frame.origin.x + self.cellInset;
frame.size.width = frame.size.width - 2*self.cellInset;
if(self.cellInset == 0){
frame = self.originalFrame;
}
self.contentView.bounds = frame;
[self.contentView layoutSubviews];
}
-(void)setCellInset:(CGFloat)cellInset{
_cellInset = cellInset;
[self layoutSubviews];
}
почему моя клетка не меняется так, как я хочу?