создать вид ячейку пользовательских таблиц с помощью autolayout в этой картине ниже Вида изменилось при выборе ячейки TableView для прошивки
Когда запуск приложения, каждая вещь будет хорошо. но когда я прокручиваю табличное представление или выбираю представление, макет ячейки будет изменен. Что происходит?
код:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
TableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdent];
[cell.textLabel setText: textToSHow];
cell.bounds = CGRectMake(0.0f, 0.0f, CGRectGetWidth(tableView.bounds), CGRectGetHeight(cell.bounds));
[cell setNeedsLayout];
[cell layoutIfNeeded];
CGSize fitSize = [cell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize];
return fitSize.height;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return 3;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
TableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdent];
[cell.textLabel setText:textToSHow];
return cell;
}
запустить приложение:
при выборе ячейки:
Большое спасибо!
Почему вы вычисляете «высоту» строки, когда все установлено с автозагрузкой? –
У табличного представления есть источник данных: heightforrow , поэтому мне нужно рассчитать высоту строки самостоятельно. – congnd
Это не обязательный метод ... Вы либо используете это, либо autolayout ... если вы хотите пойти с кодом, я думаю, вы можете удалить свои ограничения. –