2011-08-06 16 views
0

私はcustomCellを追加しようとしています。これは、単純に1つの文字列を左揃えにし、もう一方を右揃えにします。以前の質問では、誰かが次のように示唆していましたが、自分のコードで動作させるのに問題があります。 Xcodeは言う:RootviewControllerは--contentViewに応答しないこと、およびその呼び出し[自己contentView] addSubView:アイテム]または[[自己contentView] addSubView:ランク]は、実行時に任意のためのカスタマイズされたセルで問題が発生しました

// Customize the appearance of table view cells. 
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

     static NSString *CellIdentifier = @"Cell"; 

     UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
     if (cell == nil) { 
      cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease]; 

      UILabel *rank = [[UILabel alloc] initWithFrame:CGRectMake(5, 5, 100, 20]; 
      //Mess around with the rects, I am just merely guessing. 
      [rank setTag:5]; 
      [[self contentView] addSubView:rank]; 
      [rank release]; 


      UILabel *item = [[UILabel alloc] initWithFrame:CGRectMake(110, 5, 220, 20]; 
      //Important 
      [item setTextAlignment:UITextAlignmentRight]; 
      [item setTag:6]; 
      [[self contentView] addSubView:item]; 
      [item release]; 
     } 

     UILabel *rank = (UILabel *)[cell viewWithTag:5]; 
     UILabel *item = (UILabel *)[cell viewWithTag:6]; 

     rank = @"leftside"; 
     item = @"rightside"; 

    } 

おかげで私のアプリがクラッシュしますアイデア

答えて

1

あなたはここで注意すべき

[cell.contentView addSubview:item]; 
[cell.contentView addSubview:rank]; 

rank.text = @"leftside"; 
item.text = @"rightside"; 

もう一つ見てする必要があります。あなたのUITableViewがscrollEnabledの場合、cellReusabilityの問題が発生し、ラベルが後にスクロールしてしまいます。 UITableViewCellsをサブクラス化してレイアウトに追加してから、CustomUITableViewCellsを使用することをお勧めします。

+0

ありがとうございました。ただし、上下にスクロールするとすべてが壊れているようですが、問題がありました。 CustomUITableViewCellsで何を記述したのですか? – Hoofamon

1

selfここにコントローラです。受信者をselfにする代わりに、今作成したばかりのセルにcontentViewを送信する必要があります。

関連する問題