0

FIFA ワールド カップ 2014 の iPhone アプリを作成しており、「グループと順位」のスコア テーブルを作成する必要があります。作ったのはここまでです。

スクリーンショット

このコードは単純です (ただし、まだ完成していません)。

if (index==0) {
    label.text =  [NSString stringWithFormat:@"GROUP - %d", index+1];

    UITextView *text1 = [[UITextView alloc] initWithFrame:CGRectMake(30, 90, 260, 20)]; 
    text1.text = @"TEAM \t\t MP \t W \t D \t L \t GF \t GA \t Pts";
    text1.font = [UIFont fontWithName:@"Arial" size:10];
    text1.backgroundColor = [UIColor clearColor];
    [imgView addSubview:text1];

    UILabel *label1 = [[UILabel alloc] initWithFrame:CGRectMake(30, 90, 260, 20)];
    label1.text = @"label \t one";
    label1.backgroundColor = [UIColor redColor];
    //[imgView addSubview:label1];
}

else if (index==1) {
    label.text =  [NSString stringWithFormat:@"GROUP - %d", index+1];
    UILabel *label2 = [[UILabel alloc] initWithFrame:CGRectMake(50, 100, 200, 20)];
    label2.text = @"label two";
    label2.backgroundColor = [UIColor redColor];
    [imgView addSubview:label2];
}

すべてのデータは、サーバーでホストされている XML ファイルから取得されます。外部クラスを使用してデータを解析するので、それらを解析する必要はありません。このスコアボードを開発する最善の方法を知りたいだけです。

私のスコアボードは次のようになります。

TEAM                            MP    W    D    L    GF    GA    Pts

[country1.png] Argentina        3     3    0    0     7     1     9

[country2.png] Korea Republic   3     1    1    1     5     6     4

[country3.png] Greece           3     1    0    2     2     5     3

[country4.png] Nigeria          3     0    1    2     3     5     1

注意してください: これらのデータ (数字と .png 画像) はすべてサーバーからのものであり、NSMutableArray. 上記のスコア表に示すようにそれらを表示する必要があるだけで、シミュレーターのスクリーンショットはこれまでに行ったものです。

これらのデータを効率的に処理/表示するための最良の方法を教えてもらえますか?

4

1 に答える 1

2

いくつかのアイデア:

1) オープン ソースのスプレッドシートまたは複数列のクラスを検索する

2)各行、テキスト部分にタブストップまたはその他の固定間隔で NSAttributedString を使用します。これは私の好ましい解決策ですが、それを理解するのに少し時間がかかります.

3) テンプレート UITableviewCell サブクラスを作成し、左側の画像に UIImageView を使用してから、テキスト項目ごとに 1 つの UILabel を使用します。各アイテムは、左右で他のアイテムに隣接しています。これが最も簡単な解決策だと思うかもしれません。

4) HTML 入力を受け取り、属性付き文字列を生成する HTML オープン ソース クラスがいくつかあります。

5) データを HTML テーブルに変換し、UIWebView でレンダリングします。

于 2013-05-03T11:38:58.527 に答える