我已經創建了三個按鈕,併爲正常狀態和選定狀態設置背景圖像。當我點擊按鈕時,改變了一個圖像作爲選定的狀態。但是,當滾動表格視圖時,所選圖像不會保留(之前選定的單元格),這意味着它用於正常狀態。如何在iPhone中點擊UIButton時保持選定的狀態?
我的代碼,
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
likeBtn = [UIButton buttonWithType:UIButtonTypeCustom];
UIImage *likeSelectedImage = [UIImage imageNamed:@"like.png"];
//set image as background for button in the normal state
[likeBtn setBackgroundImage:likeSelectedImage forState:UIControlStateNormal];
[likeBtn addTarget:self action:@selector(likeAction:) forControlEvents:UIControlEventTouchUpInside];
[cell.contentView addSubview:likeBtn];
}
我的按鈕操作是,
-(void) likeAction : (id) sender
{
UIImage *likeSelectedImg = [UIImage imageNamed:@"like-selected.png"];
UIImage *likeImg = [UIImage imageNamed:@"like.png"];
if ([sender isSelected]) {
[sender setImage:likeImg forState:UIControlStateNormal];
[sender setSelected:NO];
}else {
[sender setImage:likeSelectedImg forState:UIControlStateSelected];
[sender setSelected:YES];
}
}
SO我的問題是,當我滾動表格視圖電池,圖像的先前選擇的狀態不被保留。因爲cellForRowAtIndex方法已經反覆調用,當我滾動表。所以它會自動設置"[likeBtn setBackgroundImage:likeSelectedImage forState:UIControlStateNormal];"
。如何避免這個問題? 那麼請幫助我? 謝謝!
pugal您好我有同樣的問題,你我嘗試代碼也作爲par在你的答案,但它不能正常工作你可以告訴我如何存儲按鈕保持所有錶行的所有按鈕狀態。我不知道如何保持按鈕狀態數組請說如何做到這一點在代碼這是鏈接,我保持代碼http://stackoverflow.com/questions/8294981/how-to-toggle-image-on-button-for -every-row-tableviewcell-in-iphone – Rocky 2011-12-01 05:03:39
請幫我,我嘗試從最後3天它不工作我我昨晚得到你的鏈接,我嘗試,但我沒有得到任何解決方案,我希望你會幫我出 – Rocky 2011-12-01 05:04:15