Tableview滚动不是那么顺利吗?

时间:2012-11-01 07:28:31

标签: iphone ios ipad

我有一个包含三个不同自定义单元格的表视图。每个将从三个不同的单元格类加载。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier1 = @"CellIdentifier";
    static NSString *CellIdentifier2 = @"Cell";
     static NSString *CellIdentifier3 = @"Cell";
    if (indexPath.section == 0)
    { 
         CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier1];

        if (cell == nil)
        {
            cell = [[[CustomCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier1] autorelease];
        }
        cell.datelabel.text=@"dhhg";
      cell.nameLabel.text=@"shdhsjdj";
    cell.msg.text=@"sdhhhfhjhfj";

       cell.myImageView.image=[UIImage imageNamed:@"sd.png"]; 
        cell.likelabel.text=@"hhhf";

        return cell;

    }
    else 
    {


        Customcellwithimage *cell = (Customcellwithimage *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier2];

        if (cell == nil)
        {
            cell = [[[Customcellwithimage alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier2] autorelease];
        }
        cell.datelabel1.text=@"sdhkhks";
        cell.nameLabel1.text=@"sdhjkhkshd";
        cell.msg1.text=@"sdsdsd";

        cell.myImageView1.image=[UIImage imageNamed:@"shdjhjhs"]; 
        cell.likelabel1.text=@"sjdh";
        cell.bannerview1.image=[UIImage imageNamed:@"dshjs"]; 

        return cell;
    }

 return Nil;

}

`。这是我设计的代码。任何人都可以帮我解决我的错误?

4 个答案:

答案 0 :(得分:1)

您的滞后可能是因为您正在主线程上的cellForRowAtIndexpath中从光盘加载。尽量避免在主线程上进行I / O操作。看看这里:loading images from a background thread using blocks

答案 1 :(得分:0)

首先,cellIdentifier2和cellIdentifier3具有与@“cell”相同的值。
您只包含2个条件,一个用于零部分,第二个用于其他条件。
您还应该提到使用cellIdentifier3的条件 您没有提到您遇到的问题,因为您的代码似乎没有任何错误。
你想要什么输出?不同细胞的不同部分??

答案 2 :(得分:0)

检查图像大小。 如果图像尺寸较大,则表格视图不会平滑

答案 3 :(得分:0)

你的代码对我来说似乎完全没问题。避免使用[UIImage imageNamed:@"sd.png"],因为它曾用于在ios 3.0之前创建内存问题,但是对于大图像,它可能仍然会产生问题。

您可以阅读:

Does UIImage's imageNamed still cause memory issues on iOS4 for large images?