2016-10-03 120 views
0

下面是我的代码和单元格,当我滚动,当我把内容下如果(单元格== nil)没有任何显示,我不知道如何摆脱它。 当我滚动一次又一次它只是覆盖。桌面单元格覆盖

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
[tableView deselectRowAtIndexPath:indexPath animated:NO]; 
static NSString *CellIdentifier = @"Cell"; 
UITableViewCell *cell = [tableView  dequeueReusableCellWithIdentifier:CellIdentifier]; 

    if (cell == nil) { 
     cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"]; 
    } 
    UILabel *boothtitle=[[UILabel alloc]initWithFrame:CGRectMake(0, 3, self.view.frame.size.width*0.5-3, 25)]; 
    UILabel *HouseTitle=[[UILabel alloc]initWithFrame:CGRectMake(0, 31, self.view.frame.size.width*0.5-3, 25)]; 
    UILabel *NameTitle=[[UILabel alloc]initWithFrame:CGRectMake(0, 59, self.view.frame.size.width*0.5-3, 25)]; 
    UILabel *FHNTitle=[[UILabel alloc]initWithFrame:CGRectMake(0, 87, self.view.frame.size.width*0.5-3, 25)]; 
    UILabel *EPICTitle=[[UILabel alloc]initWithFrame:CGRectMake(0, 115, self.view.frame.size.width*0.5-3, 25)]; 

    UILabel *BoothNo=[[UILabel alloc]initWithFrame:CGRectMake(self.view.frame.size.width*0.5+3, 3, 200, 25)]; 
    UILabel *HouseNo=[[UILabel alloc]initWithFrame:CGRectMake(self.view.frame.size.width*0.5+3, 31, 200, 25)]; 
    UILabel *Name=[[UILabel alloc]initWithFrame:CGRectMake(self.view.frame.size.width*0.5+3, 59, 200, 25)]; 
    UILabel *EPIC=[[UILabel alloc]initWithFrame:CGRectMake(self.view.frame.size.width*0.5+3, 87, 200, 25)]; 
    UILabel *Fnaaam=[[UILabel alloc]initWithFrame:CGRectMake(self.view.frame.size.width*0.5+3, 115, 200, 25)]; 

    [cell.contentView addSubview:boothtitle]; 
    [cell.contentView addSubview:HouseTitle]; 
    [cell.contentView addSubview:NameTitle]; 
    [cell.contentView addSubview:FHNTitle]; 
    [cell.contentView addSubview:EPICTitle]; 

    [cell.contentView addSubview:BoothNo]; 
    [cell.contentView addSubview:Name]; 
    [cell.contentView addSubview:HouseNo]; 
    [cell.contentView addSubview:EPIC]; 
    [cell.contentView addSubview:Fnaaam]; 
    [email protected]"Booth Number"; 
    [email protected]"House Number"; 
    [email protected]"Name"; 
    [email protected]"F/H/M Name"; 
    [email protected]"EPIC"; 

    BoothNo.text=[BotthID objectAtIndex:indexPath.row]; 
    Name.text=[nname objectAtIndex:indexPath.row]; 
    HouseNo.text=[Houseno objectAtIndex:indexPath.row]; 
    EPIC.text=[EpiC objectAtIndex:indexPath.row]; 
    Fnaaam.text=[FName objectAtIndex:indexPath.row]; 

    return cell; 

} 
+0

@Shikha我认为你应该尝试与故事情节一起工作。 (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {}在UIVIewController中添加一个TableView,并将一个TableviewCell添加到Tableview中,并在单元中添加标签并设计它并访问这些标签。如果你想使用这个,然后我上传这个方法.. –

+0

@ HemsMoradiya只使用故事板 –

+0

@ NiravD错误,未声明的标识符。 :( –

回答

0

我解决了它,我只是改变了条件。以下是代码。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    [tableView deselectRowAtIndexPath:indexPath animated:NO]; 
    static NSString *CellIdentifier = @"Cell"; 
    UITableViewCell *cell = [tableView  dequeueReusableCellWithIdentifier:CellIdentifier]; 

    if (cell != nil) { 
     cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"]; 
    } 
    UILabel *boothtitle=[[UILabel alloc]initWithFrame:CGRectMake(3, 3, self.view.frame.size.width*0.5-3, 25)]; 
    UILabel *HouseTitle=[[UILabel alloc]initWithFrame:CGRectMake(3, 31, self.view.frame.size.width*0.5-3, 25)]; 
    UILabel *NameTitle=[[UILabel alloc]initWithFrame:CGRectMake(3, 59, self.view.frame.size.width*0.5-3, 25)]; 
    UILabel *FHNTitle=[[UILabel alloc]initWithFrame:CGRectMake(3, 87, self.view.frame.size.width*0.5-3, 25)]; 
    UILabel *EPICTitle=[[UILabel alloc]initWithFrame:CGRectMake(3, 115, self.view.frame.size.width*0.5-3, 25)]; 
    UIImageView *icon = [[UIImageView alloc] initWithFrame:CGRectMake(self.view.frame.size.width*0.5+90, 7, 25, 25)]; 

    icon.image=[UIImage imageNamed:@"edit.png"]; 

    UILabel *BoothNo=[[UILabel alloc]initWithFrame:CGRectMake(self.view.frame.size.width*0.5+3, 3, 200, 25)]; 
    UILabel *HouseNo=[[UILabel alloc]initWithFrame:CGRectMake(self.view.frame.size.width*0.5+3, 31, 200, 25)]; 
    UILabel *Name=[[UILabel alloc]initWithFrame:CGRectMake(self.view.frame.size.width*0.5+3, 59, 200, 25)]; 
    UILabel *EPIC=[[UILabel alloc]initWithFrame:CGRectMake(self.view.frame.size.width*0.5+3, 87, 200, 25)]; 
    UILabel *Fnaaam=[[UILabel alloc]initWithFrame:CGRectMake(self.view.frame.size.width*0.5+3, 115, 200, 25)]; 

    [cell.contentView addSubview:boothtitle]; 
    [cell.contentView addSubview:HouseTitle]; 
    [cell.contentView addSubview:NameTitle]; 
    [cell.contentView addSubview:FHNTitle]; 
    [cell.contentView addSubview:EPICTitle]; 

    [cell.contentView addSubview:icon]; 

    [cell.contentView addSubview:BoothNo]; 
    [cell.contentView addSubview:Name]; 
    [cell.contentView addSubview:HouseNo]; 
    [cell.contentView addSubview:EPIC]; 
    [cell.contentView addSubview:Fnaaam]; 
    [email protected]"Booth Number"; 
    [email protected]"House Number"; 
    [email protected]"Name"; 
    [email protected]"F/H/M Name"; 
    [email protected]"EPIC"; 

    BoothNo.text=[BotthID objectAtIndex:indexPath.row]; 
    Name.text=[nname objectAtIndex:indexPath.row]; 
    HouseNo.text=[Houseno objectAtIndex:indexPath.row]; 
    EPIC.text=[EpiC objectAtIndex:indexPath.row]; 
    Fnaaam.text=[FName objectAtIndex:indexPath.row]; 

    return cell; 
}