2012-11-05 48 views
0

我有一個自定義的uitableviewcell,當用戶點擊按鈕時,我有一個按鈕的圖像視圖,按鈕應該顯示一個刻度線!UIButton在UITableview中的uiimageview細胞圖像不會改變

enter image description here

當用戶點擊按鈕,它應該有一個對勾標記 顯示我有一個嘗試了一些事情。請幫我

checkBoxButton.selected=!checkBoxButton.selected; 

if(checkBoxButton.selected==1){ 
    [checkBoxButton setBackgroundImage:[UIImage imageNamed:@"checked.png"] forState:UIControlStateSelected]; 
} 
else{ 
    [checkBoxButton setBackgroundImage:[UIImage imageNamed:@"unchecked.png"] forState:UIControlStateNormal]; 
} 

回答

0

請嘗試以下代碼在您的按鈕單擊。如果你有一個 複選框,這隻會工作..

if ([self.checkBoxButton.currentTitle isEqualToString:@"uncheck"]) { 

    NSLog(@"changing to checked"); 
    [self.checkBoxButton setTitle:@"check" forState:UIControlStateNormal]; 
    [self.checkBoxButton setImage:[UIImage imageNamed:@"checkedbox.png"] forState:UIControlStateNormal]; 
}else if([self.checkBoxButton.currentTitle isEqualToString:@"check"]) 
{ 
    NSLog(@"changing to UNchecked....."); 
    [self.checkBoxButton setTitle:@"uncheck" forState:UIControlStateNormal]; 
    [self.checkBoxButton setImage:[UIImage imageNamed:@"uncheckedbox.png"] forState:UIControlStateNormal]; 
} 

希望這有助於你...

+0

我在mytableview中有多個複選框。請參閱鏈接中的圖像。這不起作用.. –

0

您可以添加代表的狀態屬性。

@property (nonatomic, assign) BOOL checked; 

- (void)setChecked:(BOOL)checked 
{ 
    _checked = checked; 

    if (_checked) { 
     [self.checkboxButton setImage:[UIImage imageNamed:@"btn-checkbox-checked"] forState:UIControlStateNormal]; 
    } else { 
     [self.checkboxButton setImage:[UIImage imageNamed:@"btn-checkbox-unchecked"] forState:UIControlStateNormal]; 
    } 
} 

您可以將目標動作添加到您的checkBoxButton。在操作方法中,設置值爲checked屬性。