2016-10-03 24 views
0

以下は私のコードです。セルはスクロールして、if(cell == 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私はあなたがstorybordで作業しようとするべきだと思います。 (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {}このUIVisualControllerにテーブルビューを1つ追加し、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; 
} 
関連する問題