2017-03-02 6 views
0
NSString *cellIdentifier = @"cellID"; 

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 
if (tableView==self.monthTableVW) 
{ 
    if (cell == nil) 
    { 
     cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier]; 
    } 
    cell.textLabel.text=[self.monthArr objectAtIndex:indexPath.row]; 
    cell.backgroundColor=[ UIColor colorWithRed:224.0f/255.0f green:188.0f/255.0f blue:113.0f/255.0f alpha:0.5f]; 
} 
if (tableView==self.attendanceTBVW) 
{ 
    customeCell *cell1=[[customeCell alloc]initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:cellIdentifier]; 
    cell1=[tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 
    if(cell==nil) 
    { 
     NSArray *cellArr=[[NSBundle mainBundle]loadNibNamed:@"customeCell" owner:self options:nil]; 
     cell=[cellArr objectAtIndex:0]; 
    } 

    cell1.dateLbl.text=[self.monthArr objectAtIndex:indexPath.row]; 

} 
return cell; 
} 

ドロップダウンメニューとして使用するテーブルビューが1つ必要です。もう1つは、customCellであるattendanceTBVWというデータを表示することです。私は1つの画面で2つのテーブルビューを使用しています.1つは平面で、もう1つはカスタムセルです。 1つだけが動作しています

答えて

0

コードからは、ドロップダウンメニューのセルのみが返されているようです。あなたは出席のためにcell1を返送していません。両方のテーブルビューの個々のセルを返してください。それが役に立てば幸い。

+0

を..thanks、I両方とも共通の式を試しましたが、その例外例外エラー –

0

異なるテーブルビューに対して異なるセルを作成し、そのセルを個別に戻すようにすることはできますか。

両方のテーブルが異なるため、両方のセルに異なるセルを返す必要があるためです。

コードでこの変更を行います。

if (tableView==self.monthTableVW) { 
    NSString *cellIdentifier = @"cellID"; 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 

    if (cell == nil) { 
     cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier]; 
    } 
    cell.textLabel.text=[self.monthArr objectAtIndex:indexPath.row]; 
    cell.backgroundColor=[ UIColor colorWithRed:224.0f/255.0f green:188.0f/255.0f blue:113.0f/255.0f alpha:0.5f]; 
    return cell; 
} 
if (tableView==self.attendanceTBVW) { 
    NSString *cellIdentifier = @"customeCell"; 
    customeCell *cell1=[[customeCell alloc]initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:cellIdentifier]; 
    cell1=[tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 

    if(cell==nil) { 
     NSArray *cellArr=[[NSBundle mainBundle]loadNibNamed:cellIdentifier owner:self options:nil]; 
     cell=[cellArr objectAtIndex:0]; 
    } 
    cell1.dateLbl.text=[self.monthArr objectAtIndex:indexPath.row]; 
    return cell; 
} 
1

まずは、ストーリーボードアイデンティティインスペクタに異なるテーブルビューセルに対して異なるセル識別子を設定します。次に

#import CustomTableViewCell.h 

このクラスのdateLbl IBoutletプロパティをドラッグします。次に、このタイプのカスタムセルをキャストします。

NSString *cellIdentifier = @"cellID1"; 
NSString *customCell = @"cellID2"; 

UITableViewCell *cell; 

if (tableView==self.monthTableVW) 
{ 

    if (cell == nil) 
    { 
     cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 
     //cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier]; 
    } 
    cell.textLabel.text=[self.monthArr objectAtIndex:indexPath.row]; 
    cell.backgroundColor=[ UIColor colorWithRed:224.0f/255.0f green:188.0f/255.0f blue:113.0f/255.0f alpha:0.5f]; 
} 
if (tableView==self.attendanceTBVW) 
{ 

    //customeCell *cell1=[[customeCell alloc]initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:cellIdentifier]; 
    //cell1=[tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 
    if(cell==nil) 
    { 
     (CustomTableViewCell *)cell = [tableView dequeueReusableCellWithIdentifier:customCell]; 
     NSArray *cellArr=[[NSBundle mainBundle]loadNibNamed:@"customeCell" owner:self options:nil]; 
     cell=[cellArr objectAtIndex:0]; 
     cell.dateLbl.text=[self.monthArr objectAtIndex:indexPath.row]; 


    } 

    //cell1.dateLbl.text=[self.monthArr objectAtIndex:indexPath.row]; 

    } 
    return cell; 
} 

お試しください。それが動作することを願っています。

+0

は、 "プロパティdateLblがタイプUItableviewCellのオブジェクトに見つかりませんでした"のようなエラーを表示しています –

+0

どこにdateLbl pロペティ? – mumu

+0

私は私の答えを編集しました。それが動作するかどうか私に教えてください。 – mumu

0

が、これはこの1つは私のために働いたそれをチェックアウト

if (tableView==self.monthTableVW) { 
    NSString *cellIdentifier = @"cellID"; 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 

    if (cell == nil) { 
     cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier]; 
    } 
    cell.textLabel.text=[self.monthArr objectAtIndex:indexPath.row]; 
    cell.backgroundColor=[ UIColor colorWithRed:224.0f/255.0f green:188.0f/255.0f blue:113.0f/255.0f alpha:0.5f]; 
    return cell; 
} 
if (tableView==self.attendanceTBVW) { 
    NSString *cellIdentifier = @"customeCell"; 
    customeCell *cell1=[[customeCell alloc]initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:cellIdentifier]; 
    cell1=[tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 

    if(cell==nil) { 
     NSArray *cellArr=[[NSBundle mainBundle]loadNibNamed:cellIdentifier owner:self options:nil]; 
     cell=[cellArr objectAtIndex:0]; 
    } 
    cell1.dateLbl.text=[self.monthArr objectAtIndex:indexPath.row]; 
    return cell; 
} 
+0

それは私のために働いていたいくつかのlitleの変更と、名声。 –

0
UITableViewCell * raj=[[UITableViewCell alloc]init]; 



if (tableView==self.monthTableVW) 
{ 
    NSString *cellIdentifier = @"cellID"; 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 

    if (cell == nil) { 
     cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier]; 
    } 
    cell.textLabel.text=[self.monthArr objectAtIndex:indexPath.row]; 
    cell.backgroundColor=[ UIColor colorWithRed:224.0f/255.0f green:188.0f/255.0f blue:113.0f/255.0f alpha:0.5f]; 
    raj= cell; 
} 
if (tableView==self.attendanceTBVW) 
{ 
    NSString *cellIdentifier = @"customeCell"; 
    customeCell *cell1=[[customeCell alloc]initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:cellIdentifier]; 
    cell1=[tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 

    if(cell1==nil) { 
     NSArray *cellArr=[[NSBundle mainBundle]loadNibNamed:cellIdentifier owner:self options:nil]; 
     cell1=[cellArr objectAtIndex:0]; 
    } 
    cell1.dateLbl.text=[self.monthArr objectAtIndex:indexPath.row]; 
    raj= cell1; 
} 

return raj; 

を変更させるようにしてください、私たちは最後に一つだけの式を返す必要がたくさん

関連する問題