我有一个三行的tableview。我试图使表行具有圆角,并且在整个tableview周围也有阴影效果。出于某种原因,我无法使tableview都具有圆角和阴影效果,但是如果我注释掉负责其中一个功能的代码,则可以单独进行处理。这是我正在使用的代码:
//this is for shadow effect tableView.backgroundColor = UIColor.clearColor() tableView.layer.shadowColor = UIColor.darkGrayColor().CGColor tableView.layer.shadowOffset = CGSize(width: 2.0, height: 2.0 tableView.layer.shadowOpacity = 1.0 tableView.layer.shadowRadius = 2 // This is for rounded corners tableView.layer.cornerRadius = 10 tableView.layer.masksToBounds = true
您可以将表视图添加到容器视图,并将阴影添加到该容器视图:
let containerView:UIView = UIView(frame:CGRect(x: 10, y: 100, width: 300, height: 400)) self.tableView = UITableView(frame: containerView.bounds), style: .Plain) containerView.backgroundColor = UIColor.clearColor() containerView.layer.shadowColor = UIColor.darkGrayColor().CGColor containerView.layer.shadowOffset = CGSize(width: 2.0, height: 2.0) containerView.layer.shadowOpacity = 1.0 containerView.layer.shadowRadius = 2 // This is for rounded corners self.tableView.layer.cornerRadius = 10 self.tableView.layer.masksToBounds = true self.view.addSubview(containerView) containerView.addSubview(self.tableView)
Swift 3.0:
let containerView:UIView = UIView(frame:CGRect(x: 10, y: 100, width: 300, height: 400)) self.tableView = UITableView(frame: containerView.bounds, style: .plain) containerView.backgroundColor = UIColor.clear containerView.layer.shadowColor = UIColor.darkGray.cgColor containerView.layer.shadowOffset = CGSize(width: 2.0, height: 2.0) containerView.layer.shadowOpacity = 1.0 containerView.layer.shadowRadius = 2 self.tableView.layer.cornerRadius = 10 self.tableView.layer.masksToBounds = true self.view.addSubview(containerView) containerView.addSubview(self.tableView)