使用阴影从UIView中删除单个子视图中的阴影

时间:2015-11-07 18:03:49

标签: ios uitableview uiview shadow

上下文 为了在我的所有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

0 个答案:

没有答案