2011-10-21 3 views
-1

UITableViewで2つのカスタムボタンを作成しました。ボタン1をクリックすると他のボタンが表示されます。それのために私は次のコードを使用します。私はUITableViewグループ化されたデータ型を使用しています。は、UITableViewセルのカスタムボタンをクリックしたときに現在のセルオブジェクトを識別できませんでした

btnSettingButton=[[UIButton alloc]initWithFrame:CGRectMake(265, 50, 22, 22)]; 
[btnSettingButton setImage:[UIImage imageNamed:@"Settings Icon.png"] forState:UIControlStateNormal]; 
[btnSettingButton addTarget:self action:@selector(accessoryButtonTapped:withEvent:) forControlEvents:UIControlEventTouchUpInside]; 
[view addSubview:btnSettingButton]; 
[btnSettingButton setHidden:YES]; 



btnUncheck=[[UIButton alloc] initWithFrame:CGRectMake(265, 15, 18, 18)]; 

//btnUncheck=[UIButton buttonWithType:UIButtonTypeCustom]; 
btnUncheck.tag=indexPath.row; 
[btnUncheck setImage:[UIImage imageNamed:@"NO.png"] forState:UIControlStateNormal]; 
    [btnUncheck addTarget:self action:@selector(buttonTapped:event:) forControlEvents:UIControlEventTouchUpInside]; 

[view addSubview:btnUncheck]; 
[btnUncheck release]; 

[cell.contentView addSubview:view]; 

return cell; 



- (void)buttonTapped:(id)sender event:(id)event 
{ 
CGPoint touchPosition = [[[event allTouches] anyObject] locationInView:self.tableV]; 
NSIndexPath *indexPath = [self.tableV indexPathForRowAtPoint:touchPosition]; 
if(favoriteChecked==NO) 
    { 


    [sender setImage:[UIImage imageNamed:@"YES.png"] forState:UIControlStateNormal]; 
    if(indexPath){ 
    [btnSettingButton setHidden:NO]; 
    } 
    favoriteChecked=YES; 


    } 
    else 
    { 


    [sender setImage:[UIImage imageNamed:@"NO.png"] forState:UIControlStateNormal]; 
    [btnSettingButton setHidden:YES]; 
    favoriteChecked=NO; 
    } 


} 

このコードを使用すると、セクションの最後のセルに設定ボタンが表示されます。

クリックしたセルにどのように設定ボタンを表示することができますか教えてください。

+0

cellForRowAtIndexPathにボタンを追加しましたか?またはカスタムセル? – Maulik

答えて

1

btnSettingButtonにはグローバル変数が1つしかありません。もちろん、作成した最後のボタンを指しています。

作成したすべての設定ボタンへの参照をすべて保持してから、buttonTapped関数で正しいものを取得する必要があります。たとえば、btnUncheckをキーとして使用して辞書にすべての参照を追加することで、btnUncheckがボタンクリックされた関数で取得した送信者であるため、対応するbtnSettingButtonを辞書から取得できます。

1

実際にはっきりと私はあなたを得ていません。

私はあなたがテーブルビューのセルにボタンを追加したいと思います。このボタンをクリックすると、この画像を変更する必要があります。

私はそうですか?

+0

いいえ1つのボタンをクリックすると他のボタンが表示されます – Developer

+0

両方のボタンがセルにありますか? –

+0

ya両方のボタンがセルにあります – Developer

関連する問題