2011-04-05 8 views
1

私はuitableviewcellにチェックボックス画像を追加し、チェック画像とチェックされていない画像を切り替えるという問題を抱えています。uitableviewcellのチェックボックス画像を切り替える

私の単純なコードは次のとおりです。

-(UITableViewCell *)tableView:(UITableView *)todoTable cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
static NSString *SimpleTableIdentifier = @"SimpleTableIdentifier"; 
UITableViewCell *cell = [self.todoTable dequeueReusableCellWithIdentifier: SimpleTableIdentifier]; 

if (!cell) { 
    cell = [[[UITableViewCell alloc] 
      initWithStyle:UITableViewCellStyleDefault reuseIdentifier:SimpleTableIdentifier] autorelease]; 
} 

cell.textLabel.text = [self.todoList objectAtIndex:indexPath.row]; 

return cell; 
} 

と私はhereから

に溶液中で追加しようとする。しかし、私は interface ToggleImageControl : UIControl を入れなければならどこ私はそれを置くと仮定知りません私のviewcontrollerと同じヘッダファイルですか?

も私はこの問題を解決することができますどのように、私は理由は見つからなかったインタフェースの実装のToggleImageControl参照エラーが表示されますが、上記の私のコードに

ToggleImageControl *toggleControl = [[ToggleImageControl alloc] initWithFrame: <frame>]; 
toggleControl.tag = indexPath.row; // for reference in notifications. 
[cell.contentView addSubview: toggleControl]; 

に入れてみては?

ありがとうございました。

答えて

0

外観と動作の変更を行う最も簡単な方法は、独自のサブクラスUITableViewCellを作成することです。 UIButtonには、実際にはselectedプロパティを使用してトグル機能が組み込まれています。

0

かくしquidが正しいです。クラスとサブクラスの構築方法を理解するために時間を費やす必要があるようです。

場合によっては、.hファイルのToggleImageControlの新しいインターフェイスセクションを作成したようですが、.mファイルに@implementationセクションを置く必要があります。

多くの場合、新しいクラスに新しいファイルセットを作成します。 (.h & .mファイル)。この場合、トグルイメージは他のプロジェクト間で再利用することができるので、それを自分のファイルに分割するのが理にかなっています。

しかし、実際には飛行機にインターフェイスと実装を追加することができます。 #正しいファイルを使用している場所に#importするようにしてください。