2017-09-12 2 views
0

제목과 마찬가지로 말입니다. UIImageView 있고 CAShapeLayers보기에 삽입하고 있습니다. 문제는 UIImageView 이미지 뒤에 삽입하는 방법을 모른다는 것입니다. 어떤 충고라도 감사 할 것입니다, 고마워요.UIImageView의 이미지 뒤에 CAShapeLayer를 삽입하십시오.

+0

UIImageView의 레이어를 망치지 마십시오. @LeoDabus 제안에 따라 UIView 위에 포장하고 나중에 레이어를 추가하십시오. – hfehrmann

+0

어느 누구도 내 질문에 대답하지 않았습니다. 내가 컨테이너 밑에 두 번째보기를 만들 수 있다는 것을 알고 있지만 여러 가지 이유로 그러한 해결책을 피하고 싶습니다. 또한 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

관련 문제