在UITableView中进行显示体育排名的最佳方式

时间:2013-05-03 02:51:13

标签: ios objective-c

我正在为即将到来的2014年FIFA世界杯制作iPhone应用程序,需要制作" Groups&榜"得分表。到目前为止,我已经做了。

screen shot

这个代码很简单(但尚未完成):

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中。我只需要显示它们,如上面的得分表所示,模拟器的屏幕截图是我到目前为止所做的。

任何人都可以告诉我有效处理/显示这些数据的最佳方法吗?

1 个答案:

答案 0 :(得分:2)

一些想法:

1)搜索开源电子表格或多列类

2)对每一行(文本部分)使用带制表位或其他固定间距的NSAttributedString。这将是我的首选解决方案,但你会花一些时间搞清楚。

3)创建一个模板UITableviewCell子类,并在左侧使用UIImageView作为图像,然后每个文本项使用一个UILabel。每个项目都与左右两侧的其他项目相邻。您可能会发现这是最简单的解决方案。

4)有一些HTML开源类可以为您输入HTML并为您生成属性字符串 - 请参阅Cocanetics网站。

5)将您的数据转换为HTML表格并在UIWebView中呈现。