web-dev-qa-db-ja.com

UITableViewCellのデフォルトの高さは何ですか?

この情報はもっと見つけやすいと思いました:-)

UITableViewCellのデフォルトの高さは何ですか? 44ピクセルのように見えますが、確認したいです。

164
Rob

44ピクセルです。絶対に。その数は決して忘れません。

44pxは、UIToolbarおよびUINavigationBarのデフォルトの高さでもあります。 (どちらも横向きに自動回転すると32pxに切り替わります。)

358
Marco

任意のデバイスでデフォルトの寸法が必要な場合は、UITableViewAutomaticDimensionを使用できます

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {

    return UITableViewAutomaticDimension;
}

現在44ピクセルがデフォルトですが、アプリがデフォルト値の設定に依存している場合、これは便利な方法です。

25
simon_smiley

style = UITableViewStyleGroupedの場合、上部と下部のセルのデフォルトの高さは実際には45.0fです(44.0fではありません)。また、グループ化されたテーブルが1行のみの場合、セルの高さは46.0fになります。

16
ma11hew28

これをその場で計算したい場合は、ダミーのテーブルセルを割り当てて、その高さを読み取るだけです。

UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];
int height = cell.frame.size.height ;

この方法で、iOSの将来のバージョンでの変更を防ぐことができますが、そうなるとは思いません。

10
brainjam

「style = UITableViewStyleGroupedの場合、上部と下部のセルのデフォルトの高さは実際には45.0f(44.0fではありません)。グループ化されたテーブルが1行のみの場合、セルの高さは46.0fになります。」それは間違っています!!実際には44.0f!私はそれをテストします!

3
frank

それはほぼ正しいように聞こえます。ただし、Interface Builderを確実にロードするには、UITableViewCellをプロジェクトに入れてから、インスペクターウィンドウでサイズプロパティを確認してください。 MacBookを持っていないので、確認できません。しかし、誰かからより良い答えが得られない場合、それはあなた自身で確認する方法です。

2
Ziltoid

Swift 4およびSwift 5では、単に使用します:

UITableView.automaticDimension

44pxを使用しても、画面のピクセル密度によって異なるため、十分ではありません。

1
Dan Bray

IOS 12では、iPhone Xのようなデバイス(X、XS、XS Max、XR)のデフォルトの高さは49ptです。

IOS 12の他のデバイスには、デフォルトとして44ptがまだあります。それは微妙な違いですが、直接比較すると良い改善のように感じます。

あなたが私を信じないなら、このスクリーンショットで自分で測定してください(3で割ることを忘れないでください)...;)

0
fl034