2012-01-11 2 views
0

IBを使用してXcode 4にUITableViewCellを作成しました。しかし、私が編集ボタンをトリガーする何らかの奇妙な理由のために、cellは本当に変わった動作をし、通常のテーブルビューセルと同じアニメーションを持っていません。私は何が起こっているのかわからない、私はカスタムセルクラスで-(void)setEditing:(BOOL)editing animated:(BOOL)animatedを実装しようとしたが、まだ何も動作しません。カスタムセルを編集するときに奇妙なアニメーション?

UPDATE:ViewController私はセルを使用しています、セルを表示するcellForAtIndexの下で、このコードを持っています。

CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if(cell == nil) 
    { 
    NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:nil options:nil]; 
    for (id currentObject in topLevelObjects) 
    { 
     if ([currentObject isKindOfClass:[UITableViewCell class]]) 
     { 
      cell = (CustomCell *) currentObject; 
      break; 
     } 
     return cell; 
    } 
} 

ノーマルビュー:

The normal view

編集ボタンをタップ:

enter image description here

edit

場合であっても、それはさておき、それを移動するはずだテキストをカバースワイプ:

enter image description here

答えて

2

最初の提案。カスタムUITableViewCellにIBを使用しないでください。

次へ; UITableViewCellcontentView ...にカスタムビューを追加していることを確認してください。セル自体だけではありません。編集部分が表示されると(削除ボタンのように)、UITableViewCellのcontentViewは自動的に縮小されます。 UILabel/contentViewに追加したものの正しいUIViewAutoresizingマスクを使用している場合、正しくサイズ変更/移動されます。

編集、コメントであなたの質問に答えるために:

あなたが任意のカスタムビューをするのと同じ方法。あなたはそれを自分自身のクラスにすることもできますし、必要に応じてそれを特別なものにすることもできます。セルに追加したカスタムのものを参照してセルなどを再利用できるように、クラスが通常最も適しています。

ただし、ここではアドホックを構築する例を示します。さらに、問題を説明するために質問を更新

UIImageView * myCheckBox = ... 
UILabel * myLabel = ... 
UITableViewCell * cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil]; 
[cell.contentView addSubview:myCheckBox]; 
[cell.contentView addSubview:myLabel]; 
self.customCell = cell; 

編集#2

- (void)layoutSubviews 
{ 
    [super layoutSubviews]; 
    self.textLabel.frame = CGRectMake(50, self.textLabel.frame.origin.y, self.contentView.frame.size.width - 50, self.textLabel.frame.size.height); 
} 
+0

。 – Souljacker

+0

@ Ravin455 - 私はあなたの問題を十分に理解しています。そこに行ったことがある。それ以上の説明は必要ありません。 – Steve

+0

プログラムで追加する必要がある場合はどうすれば追加できますか?私の唯一の問題は、左側にチェックボックスUIButtonを追加することです。 – Souljacker

関連する問題