2012-06-09 75 views
4

我需要在目標c,ios5中的tableview單元格上設置樣式默認的刪除按鈕。總的想法是,你可以做這樣的事情的假設:如何設計objective-c ios5中的默認刪除按鈕?

UIImage *addImage = [UIImage imageNamed:@"greenButtonDark.png"]; 
    UIButton *addButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
    addButton.frame = CGRectMake(0, 0, addImage.size.width, addImage.size.height); 

    [addButton setImage:addImage forState:UIControlStateNormal]; 
    [addButton addTarget:self action:@selector(pushAddItem) forControlEvents:UIControlEventTouchUpInside]; 

    UIBarButtonItem *addBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:addButton] ; 

    self.navigationItem.rightBarButtonItem = addBarButtonItem; 

上面的代碼是所謂的viewDidLoad方法,並覆蓋在頭部右邊的按鈕。我假設系統默認添加了一些按鈕,但我不知道如何訪問這個特定的按鈕。

如果我未能闡明這一點,刪除按鈕,我指的是與此代碼自動生成一個...

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    if(editingStyle == UITableViewCellEditingStyleDelete) 
    { 
     //do something when someone hits delete 
    } 
} 

如果我需要澄清什麼讓我知道。謝謝。

enter image description here

+0

你有沒有嘗試子類UITableView?它*可能*工作。你將不得不發現哪個方法調用' - tableView:commitEditingStyle:forRowAtIndexPath:'無論如何,爲什麼要刪除防彈背心? – apple16

+0

不,我沒有。按照類似的方式訪問默認按鈕似乎是合乎邏輯的。不管怎樣,我希望你刪除防彈背心,因爲它表明你已經獲得了它,並且不再需要它在你的名單上。 –

+0

您無法訪問該按鈕(除了更改標題)。你可以做的是使用你自己的單元格編輯附件視圖,但是你需要做一些額外的工作來實現「編輯模式」刪除模式,並實現輕掃刪除等。 – jrturton

回答

0

看看這個答案iPhone UITableView - Delete Button,應該基本上回答你的問題。總之,你可能需要繼承的UITableViewCell和覆蓋- (空)willTransitionToState:(UITableViewCellStateMask)狀態- (空)didTransitionToState:(UITableViewCellStateMask)狀態這裏修改按鈕。

另一種方法是繼承了的UITableViewCell和實施自己的刪除按鈕的功能(識別輕掃手勢,目前的按鈕,當它以類似的方式的UITableView委託的默認方法做的pressed處理)。

相關問題