まず、UITableViewDelegate メソッドtableView:heightForRowAtIndexPath:を使用して、テーブルの高さを 5 で割った値を単純に返すと、各セルがテーブルの高さの 5 分の 1 になります。
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return [tableView bounds].size.height / (CGFloat)[myDataSourceArray count];
}
テーブルが画面のサイズになるように構成されている場合、これは iPhone 5 と iPhone 4 の両方で機能します。さらに、iOS 用にプログラミングする場合、iOS が自動的にスケーリングを処理できるように、ピクセルではなくポイントで画面の寸法を指定することを考慮して、セルを網膜/非網膜用に設定するために必要なことは何もありません。
次に、背景画像については、必要な最終結果に応じて、これを行う方法がいくつかあります. たとえば、セルをパターン イメージで埋め、デフォルトのテーブル ビュー セパレータでセルを分割したい場合は、パターンを実現するために必要な最小サイズでイメージを作成できます。(2x2px と 4x4 @2x の可能性があります) 次に、単純に次を使用します。
[[cell contentView] setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"myPatternImage"]]];
または、セルの周囲に表示したいある種の境界線を持つ画像がある場合は、サイズ変更可能なキャップインセット付きの画像を使用して境界線の周りを描画し、セルの内側をパターンで塗りつぶすことができます。スクリーンショットを次に示しますそれがどのように機能するかを説明するのに役立ちます:
もちろん、セルのサブビューとして UIImageView を追加し、完全な画像を追加することもできますが、これは間違いではありませんが、提案した他の 2 つの方法の方が効率的であるため、お勧めしません。お役に立てれば!