2016-02-25 33 views
2

我想在Swift中實現這個代碼。我得到了它在Objective-C下面的代碼從這些問題:如何更改Swift中表格視圖單元格中的默認刪除按鈕?

Change the color of default red color delete button in UITableViewCell when swiping rows or click on edit button

Customize the delete button in UITableView

- (void)willTransitionToState:(UITableViewCellStateMask)state{ 
[super willTransitionToState:state]; 
if ((state & UITableViewCellStateShowingDeleteConfirmationMask) == UITableViewCellStateShowingDeleteConfirmationMask) { 
    for (UIView *subview in self.subviews) { 
     if ([NSStringFromClass([subview class]) isEqualToString:@"UITableViewCellDeleteConfirmationControl"]) { 
      UIImageView *deleteBtn = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 64, 33)]; 
      [deleteBtn setImage:[UIImage imageNamed:@"delete.png"]]; 
      [[subview.subviews objectAtIndex:0] addSubview:deleteBtn]; 
      [deleteBtn release]; 
     } 
    } 
} 
} 

我不知道如何實現在斯威夫特此方法。任何人都可以幫我嗎?

我正在使用Xcode 7.3測試版。

回答

6

迅速的tableview委託有新的方法。試試這可能會解決你的問題。

func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]{ 

    let ackAction:UITableViewRowAction = UITableViewRowAction(style: UITableViewRowActionStyle.Default, title: "Himanshu", handler: myFunction) 
     ackAction.backgroundColor = UIColor.orangeColor() 

    return [moreAction] 
} 

現在,你甚至可以修改刪除功能

+1

感謝您answer.This幫了我很多。對不起,遲到了。我將第二行替換爲'deleteButton.backgroundColor = UIColor(patternImage:UIImage(named:「delete_button」)!)'。它像一顆寶石一樣工作。 –

-2
UIImageView *deleteBtn = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 64, 33)]; 
      [deleteBtn setImage:[UIImage imageNamed:@"delete.png"]]; 

在這裏你看到你的按鈕delete.png你需要更改你的圖像delete.png。後來會改變。

[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 64, 33)]; 

而且在這裏你可以改變尺寸

感謝

+0

是的,我可以看到,但我希望在迅速語法這整個方法 –

相關問題