2011-04-05 116 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 *toggleControl = [[ToggleImageControl alloc] initWithFrame: <frame>]; 
toggleControl.tag = indexPath.row; // for reference in notifications. 
[cell.contentView addSubview: toggleControl]; 

到我上面的代碼,我會得到,因爲接口的實現沒有找到的ToggleImageControl引用錯誤,我怎麼能解決這個問題?

謝謝。

回答

0

在外觀和行爲中完成這種修改的最簡單方法是編寫自己的UITableViewCell的子類。 UIButton實際上具有通過selected屬性內置的切換功能。

0

KakoSquid是正確的。看起來您可能需要花一些時間來了解類和子類是如何構建的。

就你的情況來說,聽起來你已經爲.h文件中的ToggleImageControl創建了一個新的界面部分,但是你需要在你的.m文件中放置一個@implementation部分。

在許多情況下,您將爲新班級創建一個新文件集。 (.h & .m文件)。在這種情況下,切換圖像可以在其他項目中重複使用,因此將其分解到自己的文件中是有意義的。

但是,您可以將接口和實現添加到您認爲合適的任何現有蒼蠅中。只要確保在您使用它們的地方輸入正確的文件。