Im использует Custome uitableview, чтобы избежать падения производительности.Элемент не отображается после UItableviewCell SubClass
это, как я заполнить мою ячейку таблицы:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *reuseIdentifier = [NSString stringWithFormat:@"cell_%ld",(long)indexPath.row];
SubcategoryTableViewCell * sctvCell = [tableView dequeueReusableCellWithIdentifier:reuseIdentifier];
if (sctvCell == nil) {
sctvCell= [[SubcategoryTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reuseIdentifier];
}
sctvCell.contentView.translatesAutoresizingMaskIntoConstraints = NO;
[sctvCell.label setText:appRecord.title];
return sctvCell;
}
в моем "SubcategoryTableViewCell.h" заголовок с IBOutlet пункта в ячейке:
@property (weak, nonatomic) IBOutlet UILabel *mood_count_lbl;
и в моем "SubcategoryTableViewCell.m" класс:
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:animated];
}
-(id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if(self){
self.contentView.backgroundColor = [UIColor clearColor];
UIView *whiteRoundedCornerView = [[UIView alloc] initWithFrame:CGRectMake(10,10,300,150)];
whiteRoundedCornerView.backgroundColor = [UIColor whiteColor];
whiteRoundedCornerView.layer.masksToBounds = NO;
whiteRoundedCornerView.layer.cornerRadius = 3.0;
[whiteRoundedCornerView.layer setShadowColor:[UIColor grayColor].CGColor];
whiteRoundedCornerView.layer.shadowOffset = CGSizeMake(-1, 1);
whiteRoundedCornerView.layer.shadowOpacity = 0.2;
[self.contentView addSubview:whiteRoundedCornerView];
[self.contentView sendSubviewToBack:whiteRoundedCornerView];
return self;
}
с указанным выше кодом отображается в ячейке, за исключением границы и тени, что i
сделано в custome cell.
также элемент в ячейке правильно подключен к ячейке custome.
проблема связана с динамическим «reuseIdentifier», который я сделал?
если я изменить его обратно в этом коде все хорошо работает без настройки ячейки таможенной и подклассов:
NSString *reuseIdentifier = @"PlaceholderCell2";
UITableViewCell * sctvCell = [tableView dequeueReusableCellWithIdentifier:reuseIdentifier];
if (sctvCell == nil) {
sctvCell= [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reuseIdentifier];
}
даже если я изменить мой код так:
self.contentView.backgroundColor = [UIColor clearColor];
UIView *whiteRoundedCornerView = [[UIView alloc] initWithFrame:CGRectMake(10,10,300,150)];
whiteRoundedCornerView.backgroundColor = [UIColor whiteColor];
whiteRoundedCornerView.layer.masksToBounds = NO;
whiteRoundedCornerView.layer.cornerRadius = 3.0;
[whiteRoundedCornerView.layer setShadowColor:[UIColor grayColor].CGColor];
whiteRoundedCornerView.layer.shadowOffset = CGSizeMake(-1, 1);
whiteRoundedCornerView.layer.shadowOpacity = 0.2;
[self.contentView addSubview:whiteRoundedCornerView];
UILabel *_lblTitle = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
[self.contentView addSubview:_lblTitle];
[self.contentView sendSubviewToBack:whiteRoundedCornerView];
нового лейбл теперь показывает вверх ,
Я проверяю имя и класс ячейки, и все в порядке.
мой "SubCategoryViewController.m" Код: http://paste2.org/_nCY8zF9w
мой "SubcategoryTableViewCell.m" Код: http://paste2.org/_h9AJnzcV
мой "SubcategoryTableViewCell.h" Код: http://paste2.org/_vUJjEcXV
спасибо за ответ и извините за ошибку. версия тега была старой. im, использующий Iboutlet, который связан с заголовком ячейки custome. im компиляция для ios 7.1+. в моем классе ячеек класса im, не используя какой-либо вид xib. –
Затем вы можете использовать последний метод. – gabbler
из-за предложения ur я переместил мой «- (id) initWithStyle« to »- (void) awakeFromNib« теперь ничто не показывает на моем столе даже границы, которые я сделал. –