2017-04-18 3 views
2

Iは3辺(左、右、下)でなく、最後のセルを除く他のセルに追加影に私がしたい最後のセルは、私はちょうどしたい4部(4 tableViewCellと1つのtableView)とtableviewcellに影を追加します2面(左、右)に影が追加されました。私はこのコードをシングルトンと拡張UIViewで記述します。 最後のセルについては、この:別のセルのtableviewcell swift 3で影を追加するには?

func dropShadowAtBottom() { 

    self.layer.masksToBounds = false 
    self.layer.shadowColor = UIColor.black.cgColor 
    self.layer.shadowOpacity = 0.2 
    self.layer.opacity = 0.3 
    self.layer.shadowOffset = CGSize(width: 0, height: 2) 
    self.layer.shadowRadius = 2 
    self.clipsToBounds = false 

} 

と、この最後のセルを除い:

func dropShadowAtLeftAndRight() { 

    self.layer.masksToBounds = false 
    self.layer.shadowColor = UIColor.black.cgColor 
    self.layer.shadowOpacity = 0.5 
    self.layer.shadowOffset = CGSize(width: 0, height: 0) 
    self.layer.shadowRadius = 2 
    let shadowRect: CGRect = self.layer.bounds.insetBy(dx: 0, dy: 4); // inset top/bottom 
    self.layer.shadowPath = UIBezierPath(rect: shadowRect).cgPath 

    self.layer.rasterizationScale = UIScreen.main.scale 
    self.layer.shouldRasterize = true 

} 

私はcellForRowにこのコードを呼び出す:

if(indexPath.row == currentOrderHistory.listOrderItems.count - 1){ 
      cell.bodyView.dropShadowAtBottomOnly() 

     }else{ 
      cell.bodyView.dropShadowAtLeftAndRight() 
     } 
     return cell 

今、このコードは仕事ですが、まだ完璧ではない。セルの間に空白があります。

picture

私はちょうどそれらが接続されているようにしたいです。

+2

それは本当に役立つだろう。 「絵」のテキストに –

+0

試みを達成するために何をしたいの画像を投稿する場合 –

+0

を達成したいのかを共有する –

答えて

0

あなたはIBから区切りを削除しようとしたことがありますか? セパレータなし

または別の方法

enter image description here

は、私はあなたがこのラインでdropShadowAtLeftAndRight()で問題に直面していると思います

self.tableView.separatorColor = UIColor.clear 
+0

感謝をklikしてくださいが、それはそう何 –

0

を半透明セパレータの色を設定し、SET

let shadowRect: CGRect = self.layer.bounds.insetBy(dx: 0, dy: 4); 

それは私の場合には、このような(0.0, 4.0, 375.0, 36.0)rectルックスを返します。トップ4PXに空白と下も4PX空白

だからあなたの左と右の影が4から開始し、高さがされている36

あなたはこの

let shadowRect: CGRect = self.layer.bounds.insetBy(dx: 0, dy: 0); 
のように設定する必要があり、この問題を解決するためにあなたはあなたが私はすでに写真を追加
+0

を変更しないが、私は0にDYを変更した場合、すべてのセルは、あなたが唯一の唯一の「dropShadowAtBottom」メソッドを使用して、左のセルと右の二つのビューを追加することができます下の影 –

+0

を持っています左と右のシェッドを与える。 –

関連する問題