Я реализовал пользовательский UITableViewCell (программно). Вот немного моего кода:Пользовательский и динамический контент UITableViewCell
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
// Here I initialize three labels with 2 vertical constraints between each other
}
return self;
}
И когда я запускаю мое приложение, я вижу:
My label 1
|-vertical constraint-|
My label 2
|-vertical constraint-|
My label 3
Все нормально, когда мои три метки имеют текст, однако некоторые из них могут не иметь текст и мое приложение отображает:
My label 1
|-vertical constraint-|
|-vertical constraint-|
My label 3
Так что мне нужно, чтобы удалить или не инициализировать связанную метку и добавить/удалить правильные ограничения для отображения:
My label 1
|-vertical constraint-|
My label 3
Где я должен это делать? Я не могу сделать это в initWithStyle
, потому что я не знаю, если мой текст метки имеет значение еще:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
MyCustomCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MyCustomCell"];
cell.name.text = name;
cell.username.text = username;
cell.description.text = description;
return cell
}
Спасибо заранее.
Звучит хорошо. Я попробую. –
И где я могу добавить/обновить свои ограничения? –
В методе configure, в который вводится модель. –