2017-12-15 21 views
1

実際には、私はUIViewの下部に影が必要です。 私はいくつかのコードを試していましたが、トップサイドだけからシャドーを取得していました。私は現在、スイフト3を使用しています。UIviewの下部に影を追加

コードの下に従ってください:私はコレクションを持っている、また enter image description here

 horizontalLine.snp.makeConstraints{ (make) in 
      make.height.equalTo(5) 
      make.width.equalTo(self.snp.width) 
      make.left.equalTo(self.snp.left) 
      make.right.equalTo(self.snp.right) 
      make.bottom.equalTo(self.snp.bottom) 
     } 

が今どのように見えるか:また、私はUI設定のsnapkitライブラリを使用しています

 let horizontalLine = UIView() 
     horizontalLine.frame = CGRect.zero 
     horizontalLine.backgroundColor = .lightGray 
     self.addSubview(horizontalLine) 

     horizontalLine.layer.shadowColor = UIColor.gray.cgColor 
     horizontalLine.layer.shadowOpacity = 0.5 
     horizontalLine.layer.shadowOffset = CGSize(width: 0.0, height: 2.0) 
     horizontalLine.layer.masksToBounds = false 
     horizontalLine.backgroundColor = .lightGray 
     horizontalLine.layer.shadowRadius = 5 

それをちょうど見る。 さらに、その行の裏側にもう1つのコレクションビューがあります。

私を連れてください。 ありがとうございます。

+0

の変更をして –

+0

NIKSを試してみてください - あなたが今得ているものの画像を表示し、あなたは* *それは見てみたい方法:

これを試してみてください。あなたのコードに基づいて、あなたは 'horizo​​ntalLine'ビューを別のビューのサブビューとして追加しているようですが、次に' horizo​​ntalLine'を4つの辺全てに制約しています...つまり、「他のビュー」は 'horizo​​ntalLine'によって完全に隠されていますか?シャドウレイヤーを「他のビュー」に追加するだけの理由はありませんか?または、単に 'horizo​​ntalLine'を単独で使用しますか? – DonMag

+0

@dahiya_boy私はそれを試しましたが、上に現れる影がありません – niks

答えて

-1

はこれを試して..あなたが表示された画像に基づいて

let horizontalLine = UIView() 
horizontalLine.frame = CGRect(x: 150, y: 350, width: 150, height: 150) 
horizontalLine.backgroundColor = .lightGray 
self.view.addSubview(horizontalLine) 

horizontalLine.layer.shadowColor = UIColor.red.cgColor 
horizontalLine.layer.shadowOffset = CGSize(width: 0.0, height: 3.0) 
horizontalLine.layer.shadowOpacity = 1.0 
horizontalLine.layer.shadowRadius = 0.0 
horizontalLine.layer.masksToBounds = false 
horizontalLine.layer.cornerRadius = 4.0 
+0

ただスーパービューのエラーがありました。ご協力ありがとうございました。また、あなたの例は期待どおりに動作しています。 – niks

+0

あなたを助けてくれることを嬉しく思います。 –

+0

この回答をダウンワートする理由についてのコメントはありますか?わたしにはできる。 –

1

は、それがあなたhorizontalLineビューの上にコレクションビューのセルの内容であるあなたが見ている「影」のように見えます。

また、あなたのhorizontalLineの影の影が見えないように見えます。そのスーパービューはクリッピングしているからです。 (0,0)としてオフセット

// new line 
    self.clipsToBounds = false 
    // rest of your code... 
    let horizontalLine = UIView() 
+0

うわー、スーパービューに問題がありました。どうもありがとう。 – niks

関連する問題