我试图实现这个设计,但我浏览过的所有解决方案都不起作用,而且据我所知,这可能是因为单元格与UITableView之间的间距。
这是设计:
所以基本上我想要实现的是从所有4个边都有阴影以及每个细胞和下一个细胞之间的间距。 感谢
编辑: 这是我试过的代码。
let shadowSize : CGFloat = 5.0
let shadowPath = UIBezierPath(rect: CGRect(x: -shadowSize / 2,
y: -shadowSize / 2,
width: self.avatarImageView.frame.size.width + shadowSize,
height: self.avatarImageView.frame.size.height + shadowSize))
self.avatarImageView.layer.masksToBounds = false
self.avatarImageView.layer.shadowColor = UIColor.black.cgColor
self.avatarImageView.layer.shadowOffset = CGSize(width: 0.0, height: 0.0)
self.avatarImageView.layer.shadowOpacity = 0.5
self.avatarImageView.layer.shadowPath = shadowPath.cgPath
编辑2: 我想指出我所有的单元格对象都在容器UIView中。以上所有代码都适用于此UIView。
答案 0 :(得分:8)
您必须在UIView
内加UITableViewCell
UITableViewCell
才能使用该视图。
FOR THE SHADOW我在viewDummy.addShadow() //use from any view
extension UIView {
func addShadow(){
self.layer.shadowColor = UIColor.blackColor().CGColor
self.layer.shadowOpacity = 0.5
self.layer.shadowRadius = 2.0
self.layer.shadowOffset = CGSizeMake(1.0, 1.0)
}
}
类使用此功能: -
$time = strtotime('2015-06-04 00:00:00'); // convert to datetime
$date = date('Y-m-d H:i:s',$time); // change format
答案 1 :(得分:1)
func tableView(_ tableView:UITableView,cellForRowAt indexPath:IndexPath) - > UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
cell.layer.shadowOffset = CGSize(width: 0, height: 0)
cell.layer.shadowColor = UIColor.black.cgColor
cell.layer.shadowRadius = 5
cell.layer.shadowOpacity = 0.40
cell.layer.masksToBounds = false;
cell.clipsToBounds = false;
return cell
}