この情報はもっと見つけやすいと思いました:-)
UITableViewCellのデフォルトの高さは何ですか? 44ピクセルのように見えますが、確認したいです。
44ピクセルです。絶対に。その数は決して忘れません。
44pxは、UIToolbarおよびUINavigationBarのデフォルトの高さでもあります。 (どちらも横向きに自動回転すると32pxに切り替わります。)
任意のデバイスでデフォルトの寸法が必要な場合は、UITableViewAutomaticDimensionを使用できます
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return UITableViewAutomaticDimension;
}
現在44ピクセルがデフォルトですが、アプリがデフォルト値の設定に依存している場合、これは便利な方法です。
style = UITableViewStyleGrouped
の場合、上部と下部のセルのデフォルトの高さは実際には45.0f
です(44.0f
ではありません)。また、グループ化されたテーブルが1行のみの場合、セルの高さは46.0f
になります。
これをその場で計算したい場合は、ダミーのテーブルセルを割り当てて、その高さを読み取るだけです。
UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];
int height = cell.frame.size.height ;
この方法で、iOSの将来のバージョンでの変更を防ぐことができますが、そうなるとは思いません。
「style = UITableViewStyleGroupedの場合、上部と下部のセルのデフォルトの高さは実際には45.0f(44.0fではありません)。グループ化されたテーブルが1行のみの場合、セルの高さは46.0fになります。」それは間違っています!!実際には44.0f!私はそれをテストします!
それはほぼ正しいように聞こえます。ただし、Interface Builderを確実にロードするには、UITableViewCellをプロジェクトに入れてから、インスペクターウィンドウでサイズプロパティを確認してください。 MacBookを持っていないので、確認できません。しかし、誰かからより良い答えが得られない場合、それはあなた自身で確認する方法です。
Swift 4およびSwift 5では、単に使用します:
UITableView.automaticDimension
44pxを使用しても、画面のピクセル密度によって異なるため、十分ではありません。