上下文 为了在我的所有tableview单元格上获得阴影,我在透明表视图中添加了一个阴影。这可以避免单独的细胞落到其他细胞上的阴影。但是,这也意味着表视图中的所有内容都会产生阴影。因为当我向右滑动单元格时,我想要一个没有阴影的无阴影删除按钮,我想知道:
问题: 我可以使用阴影消除UIView中某个特定子视图的阴影吗? 具体而言,在这种情况下不必将其从表视图中取出。我喜欢将它保存在tableview中,以便它与表视图一起滚动。
向tableView添加阴影
self.tableView.clipsToBounds = false
self.tableView.layer.shadowOffset = CGSizeMake(5,5)
self.tableView.layer.shadowColor = UIColor.blackColor().CGColor
self.tableView.layer.shadowRadius = 5
self.tableView.layer.shadowOpacity = 1
然后当细胞被轻扫时,我只需添加按钮
let cellFrame = tableView.rectForRowAtIndexPath(indexPath)
var buttonFrame = CGRectInset(cellFrame,10,8)
buttonFrame.size.width = 150
let buttonView = UIButton(frame: buttonFrame)
buttonView.setTitle("Remove", forState: UIControlState.Normal)
buttonView.backgroundColor = UIColor.redColor()
tableView.insertSubview(buttonView, atIndex: 0)
//some animation to move the cell out of the way