2016-12-20 1 views
1

私はテーブルビューに影を追加しましたが、残念ながらテーブルビューをスクロールすると影もテーブルと共に移動します。次のように影を追加するためのコードは次のとおりです。テーブルビューでシャドウスクロールしているのはなぜですか?

func addShadow(to myView: UIView){ 
     let shadowPath = UIBezierPath(rect: CGRect(x: 0, y: 0, width: uiView.frame.width, height: uiView.frame.height * 1.1)) 
     uiView.layer.shadowColor = UIColor.black.cgColor 
     uiView.layer.shadowOffset = CGSize(width: 0.2, height: 0) 
     uiView.layer.shadowOpacity = 0.5 
     uiView.layer.shadowRadius = 5.0 
     uiView.layer.masksToBounds = false 
     uiView.layer.shadowPath = shadowPath.cgPath 
    } 

enter image description here

これが起こって、どのようにその指定された場所に影スティックを作ることですなぜあなたは私に説明していただけますか?

ありがとうございます。

+0

あなたは固定されており、あなたの 'UITableView'に影を追加しました、そしてそれがスクロールしているあなたの' UITableView'ではありませんので。あなたは細胞をスクロールします! –

+0

'addShadow'メソッドはどうやって呼びましたか? –

+0

@AhmadF私はaddShadowメソッドをaddShadow(to:tableViewController.view)のように呼び出します。私は、テーブルビュー自体に影を追加するのではなく、テーブルビューコントローラのビューに影を追加しています。 –

答えて

0

tableviewにシャドウを追加する場合、それはテーブルビューのデータとともにスクロールします。これを防ぐには、まずUIViewを追加する必要があります。そのビューにテーブルビューを追加します。あなたが取ったUIViewの影を追加してください。指定された場所に固執します。

0

これは、私の解決策スイフト3UIViewCAGradientLayerの内部にあります。

override func viewWillAppear(_ animated: Bool) { 
     addShadow(myView: myTab) 
} 

func addShadow(myView: UIView){   
    let shadowView = UIView() 
    shadowView.center = CGPoint(x: myView.frame.minX,y:myView.frame.minY - 15) 
    shadowView.frame.size = CGSize(width: myView.frame.width, height: 15) 
    let gradient = CAGradientLayer() 
    gradient.frame.size = shadowView.frame.size 
    let stopColor = UIColor.clear.cgColor 
    let startColor = UIColor.black.withAlphaComponent(0.8).cgColor 
    gradient.colors = [stopColor,startColor] 
    gradient.locations = [0.0,1.0] 
    shadowView.layer.addSublayer(gradient) 
    view.addSubview(shadowView) 
} 

enter image description here

+0

ロブ、あなたの答えに感謝します。しかし、あなたのコードで気づいたことは、影がテーブルビューの親ビューに追加されていることです。テーブルビューには、パンジェスチャ認識機能がアタッチされています。私はあなたのコードを使ってイメージを描いていますが、テーブルビューが下にスライドしている間は、shadowViewはその場にとどまります。テーブルビューでスライドするには影が必要です**また、テーブルビューで情報をスクロールするときにはスクロールしないでください。私が探しているものを参考にするには、公式のAppleの地図アプリを見てください。 –

関連する問題