2017-09-12 20 views
0

タイトルのとおりです。私はUIImageViewを持っており、CAShapeLayersをビューに挿入しています。問題は、UIImageViewの画像の後ろに挿入する方法がわからないことです。どんなアドバイスもありがとうございます、ありがとうございます。UIImageViewの画像の後ろにCAShapeLayerを挿入します

+0

UIImageViewのレイヤーを混乱させないでください。 @LeoDabusの提案に従ってUIViewにラップし、後でレイヤーを追加してください – hfehrmann

+0

どちらもあなたの質問に答えませんでした。私はコンテナの下に2番目のビューを作成できることを知っていますが、多くの理由から私はそのような解決策を避けたいと思います。また、私はUIImageViewにレイヤーを挿入し、すべてがうまくいき、うまくテストしています。唯一の問題は、画像の下に物を挿入する方法がわからないことです。これが不可能な場合は、 "それは不可能"と言います。あなたが確信が持てないなら、あなたは答えるべきではありません。しかし、私の時間を無駄にしないでください、私は理由を理由にした具体的な質問をしました。 – Blue

+0

@LeoDabusだからあなたは答えを知らない?試してくれてありがとう、素晴らしい一日を。 – Blue

答えて

1

いくつかのレイヤの並べ替えを試みることもできますが、UIImageViewの独自の内部コードではうんざりかもしれません。私の提案は、コンテナのビューを作成し、そこにサブレイヤを追加してから、サブビューとしてイメージビューを追加することです(基本的にサブレイヤとしても追加しています)。イメージが透明でUIImageViewが不透明でない限り、それは機能します。 このコードは遊び場で私のために働い:

let container = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 100)) 
let imageView = UIImageView(frame: container.bounds) 
imageView.image = UIImage(named: "duck.png") 
imageView.isOpaque = false 

let shape = CAShapeLayer() 
shape.path = UIBezierPath(roundedRect: container.bounds, cornerRadius: 2).cgPath 
shape.strokeColor = UIColor.black.cgColor 
shape.lineWidth = 10 
shape.fillColor = UIColor.blue.cgColor 
shape.borderColor = UIColor.black.cgColor 
container.layer.addSublayer(shape) 
container.addSubview(imageView) 

幸運を!

+0

あなたが言っているのは、UIImageViewがイメージの下に何かを存在させないかもしれないことと、別のビューコンテナを作る必要があるということです。それはあまりにも悪いです。時間をとっていただきありがとうございます。 – Blue

関連する問題