最近需要一个效果,tableView添加背景图片,并且透过cell可以看得到,在研究了一下之后,做出了这个效果,希望能够帮助大家。
1.设置tabelview背景图片
self.tableView.backgroundColor = UIColor.clearColor()
let imageView = UIImageView(frame: self.tableView.frame)
imageView.image = UIImage(named: "storebackground")
self.tableView.backgroundView = imageView
2.设置cell透明
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
self.backgroundColor = UIColor(colorLiteralRed: 242, green: 242, blue: 242, alpha: 0.9)
}
3.重写cell drawRect方法
override func drawRect(rect: CGRect) {
super.drawRect(rect)
switch indexPath.row % 4 {
case 0://特价营业
var frame = self.frame
frame.size.height = 101
self.frame = frame
case 1://特价休息
var frame = self.frame
frame.size.height = 101
self.frame = frame
case 2://营业
var frame = self.frame
frame.size.height = 76
self.frame = frame
case 3://休息
var frame = self.frame
frame.size.height = 101
self.frame = frame
default:
break
}
}
4.cell下面的线条需要透明的,是通过代理方法返回高度时,比cell的高度高了1做出来的
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
switch indexPath.row % 4 {
case 0:
return 102
case 1:
return 102
case 2:
return 77
case 3:
return 102
default:
return 77
}
}