Я думал, что этой информации было бы легче найти: -)
Какова высота по умолчанию UITableViewCell? Он выглядит как 44 пикселя, но я бы предпочел быть уверенным.
Я думал, что этой информации было бы легче найти: -)
Какова высота по умолчанию UITableViewCell? Он выглядит как 44 пикселя, но я бы предпочел быть уверенным.
Это 44 пикселя. Определенно. Я никогда не забуду этот номер.
44px также является высотой по умолчанию для UIToolbar и UINavigationBar. (Оба переключаются на 32 пикселя при авторотации в альбомную ориентацию.)
Если вы хотите использовать размер по умолчанию для любого устройства, которое вы можете использовать: UITableViewAutomaticDimension
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return UITableViewAutomaticDimension;
}
Хотя 44 пикселя в настоящее время по умолчанию это полезный метод, если ваше приложение полагается на установление по умолчанию.
Когда style = UITableViewStyleGrouped
, высота по умолчанию верхней и нижней ячеек фактически равна 45.0f
(не 44.0f
). И, если сгруппированная таблица - это только одна строка, высота ячейки будет 46.0f
.
Если вы хотите рассчитать это на лету, просто выделите ячейку таблицы фиктивного элемента и прочитайте ее высоту
UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];
int height = cell.frame.size.height ;
Таким образом, вы защищаетесь от изменений в будущих версиях iOS, хотя я предполагаю, что это маловероятно.
"Когда style = UITableViewStyleGrouped, высота по умолчанию верхней и нижней ячеек фактически равна 45.0f (не 44.0f). И если сгруппированная таблица - только одна строка, высота ячейки будет 46.0f." Это неправильно! 44.0f на самом деле! Я просто проверяю это!
Это звучит правильно. Но, чтобы быть уверенным, что вы можете загрузить интерфейс-конструктор, вставьте в проект UITableViewCell, затем проверьте свойства размера в окне Inspector. У меня нет моего MacBook со мной прямо сейчас, поэтому я не могу проверить. Но если вы не получите лучшего ответа от кого-то, вот как вы можете проверить себя.
В iOS 12 высота по умолчанию на iPhone X-подобных устройствах (X, XS, XS Max, XR) составляет 49pt.
Другие устройства на iOS 12 по-прежнему имеют 44pt по умолчанию. Это тонкая разница, но это похоже на хорошее улучшение в прямом сравнении.
Если вы мне не верите, измерьте себя на этом скриншоте (не забудьте разделить на 3)...;)
В Swift 4 и Swift 5 просто используйте:
UITableView.automaticDimension
Использование 44px не будет достаточным, потому что оно будет варьироваться в зависимости от плотности пикселей экрана.