2015-08-28 76 views
2

我從互聯網及其工作中添加了此代碼。在刷單元格時顯示2個按鈕,但按鈕均爲紅色。爲什麼?我如何改變它們?更改'UITableViewRowAction'的顏色

enter image description here

override func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [AnyObject]? { 
    // 1 
    var shareAction = UITableViewRowAction(style: UITableViewRowActionStyle.Default, title: "Aceitar" , handler: { (action:UITableViewRowAction!, indexPath:NSIndexPath!) -> Void in 
     // 2 
     let shareMenu = UIAlertController(title: nil, message: "Confirmar Aceitação", preferredStyle: .ActionSheet) 

     let twitterAction = UIAlertAction(title: "Twitter", style: UIAlertActionStyle.Default, handler: nil) 
     let cancelAction = UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel, handler: nil) 

     shareMenu.addAction(twitterAction) 
     shareMenu.addAction(cancelAction) 



     self.presentViewController(shareMenu, animated: true, completion: nil) 
    }) 
    // 3 
    var rateAction = UITableViewRowAction(style: UITableViewRowActionStyle.Default, title: "Recusar" , handler: { (action:UITableViewRowAction!, indexPath:NSIndexPath!) -> Void in 
     // 4 
     let rateMenu = UIAlertController(title: nil, message: "Confirmar Recusa", preferredStyle: .ActionSheet) 

     let appRateAction = UIAlertAction(title: "Confirmo", style: UIAlertActionStyle.Default, handler: nil) 
     let cancelAction = UIAlertAction(title: "Cancelar", style: UIAlertActionStyle.Cancel, handler: nil) 

     rateMenu.addAction(appRateAction) 
     rateMenu.addAction(cancelAction) 


     self.presentViewController(rateMenu, animated: true, completion: nil) 
    }) 
    // 5 
    return [shareAction,rateAction] 
} 

回答

3

您可以使用UITableViewRowActionbackgroundColor財產。例如,rateAction.backgroundColor = UIColor.blueColor()

override func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [AnyObject]? { 
    var shareAction = UITableViewRowAction(style: UITableViewRowActionStyle.Default, title: "Aceitar" , handler: {(action:UITableViewRowAction!, indexPath:NSIndexPath!) -> Void in 
     // Put your shareAction handler stuff here 
    }) 
    var rateAction = UITableViewRowAction(style: UITableViewRowActionStyle.Default, title: "Recusar" , handler: {(action:UITableViewRowAction!, indexPath:NSIndexPath!) -> Void in 
     // Put your rateAction handler stuff here 
    }) 
    shareAction.backgroundColor = UIColor.redColor() 
    rateAction.backgroundColor = UIColor.blueColor() 
    return [shareAction, rateAction] 
} 
+0

它沒有識別backgroundColor。 –

+0

@RenatoPimpão我編輯了答案。 – Dree