UITableView自定义单元格 - 如何将cornerRadius保持在编辑模式

时间:2016-02-16 20:56:50

标签: ios swift uitableview custom-cell

我用自定义单元格实现了一个tableview。单元格的cornerRadius设置为2.一切都显示正常,直到我进入编辑模式。当出现删除按钮时,它的圆角半径为0。

如何让删除按钮也有一个cornerRadius?

我没试过就试过这个:

func tableView(tableView: UITableView, willBeginEditingRowAtIndexPath indexPath: NSIndexPath) {
    let cell = tableView.cellForRowAtIndexPath(indexPath)
    cell!.editingAccessoryView?.layer.cornerRadius = 2
}

enter image description here

角度Radius当前在我的Storyboard中设置为用户定义的运行时属性。

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以像这样操作按钮:

func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [AnyObject]? {
  var button1 = UITableViewRowAction(style: .Default, title: "Delete", handler: { (action, indexPath) in
                  println("button1 pressed!")
              })


  UIGraphicsBeginImageContext(button1.view.frame.size);
  [[UIImage imageNamed:@"image.png"] drawInRect:self.view.bounds];
  UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
  UIGraphicsEndImageContext();

  button1.view.backgroundColor = [UIColor colorWithPatternImage:image];

  return [button1]
}

func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool {
  return true
}
func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
}