半透明cell效果简单实现

    最近需要一个效果,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

}

}

半透明cell效果简单实现_第1张图片

你可能感兴趣的:(半透明cell效果简单实现)