表格部分查看iphone上的数据变化

时间:2010-09-08 10:40:02

标签: iphone

我做了这个,但如果我用力数据滚动表格仍然是洗牌

  UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
        //  
        //cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle   reuseIdentifier:CellIdentifier] autorelease];
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
        XMLAppDelegate *appDelegate=(XMLAppDelegate*)[UIApplication sharedApplication].delegate;
        DetailXml   *aDetail=[appDelegate.dxml objectAtIndex:indexPath.row];

                        switch(indexPath.section)
        {


            case 0:



                NSLog(@" cell 1");


                {
                    CGRect frame;
                    frame.origin.x = 70; 
                    frame.origin.y = 15;
                    frame.size.height = 25;
                    frame.size.width = 320;

                    cLabel = [[UILabel alloc] initWithFrame:frame];
                    cLabel.textColor = [UIColor blackColor];

                    //[label setFont:[UIFont fontWithName:@"Helvetica-Bold" size:16]];
                    [cLabel setFont:[UIFont fontWithName:@"Verdana-Italic" size:14]];
                    cLabel.tag = Ca;
                    [cell.contentView addSubview:cLabel];
                    [cLabel release];
                    cLabel.backgroundColor = [UIColor clearColor];
                                        cLabel.text = [NSString stringWithFormat:@"%@", aDetail.telnumber];


                    cLabel.backgroundColor = [UIColor clearColor];


                    cell.backgroundView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"r1.png"]] autorelease];
                    counte=1;
                }
                break;

            case 1:

                {NSLog(@" cell 2");
                    //counte=0;

                    cell.backgroundView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"n1.png"]] autorelease];

                }

                break;

1 个答案:

答案 0 :(得分:0)

你真的应该在发布之前清理你的代码!

阅读起来非常困难,你应该删除许多错误,空白和注释掉的行。

阅读http://developer.apple.com/iphone/library/documentation/userexperience/conceptual/TableView_iPhone/TableViewCells/TableViewCells.html#//apple_ref/doc/uid/TP40007451-CH7-SW15 它应该可以帮助您开始使用自定义单元格。

基本上所有的定制都应该进入:

if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
      //Customization here:
}

您这样做的方式是每次显示新单元格时分配标签而不是重复使用..

看起来你的细胞是静止的。每个部分只有一个单元格,不需要重复使用单元格? 如果是这样,使用interfacebuilder创建静态单元格会更容易 http://developer.apple.com/iphone/library/documentation/userexperience/conceptual/TableView_iPhone/TableViewCells/TableViewCells.html#//apple_ref/doc/uid/TP40007451-CH7-SW32