728x90
CALayer의 contents의 image가 안보임
이슈라기 보단 내가 뭔가 CALayer의 원리 중 놓친 부분이 있어서 일어난 현상 같은데, 결과적으론 CALayer의 contents 사용 시 setNeedsDisplay()를 호출해서 image가 안 보였던 현상이다.
setNeedsDisplay()를 지워주니까 바로 해결;;
해석해보면, setNeedsDisplay()를 호출하는 순간 원래 존재하던 contents는 새로운 content를 만들기 위해 다 지워지기 때문이라는 것.
let ringImageLayer = CALayer()
ringImageLayer.frame = CGRect(x: 0, y: 0, width: self.bounds.width - ringLineWidth, height: self.bounds.height - ringLineWidth)
ringImageLayer.contentsScale = self.contentsScale
ringImageLayer.contents = ringImage.cgImage
ringImageLayer.contentsGravity = .center
self.addSublayer(ringImageLayer)
728x90
'iOS > 이슈' 카테고리의 다른 글
[iOS Issue] Shadow 관련 run time issue (0) | 2023.01.07 |
---|---|
[iOS Issue] iOS12에서 Constraint의 priority 사용 시 크래시 발생 (0) | 2022.08.17 |
[iOS Issue] Undefined Symbol error (0) | 2022.06.20 |
[iOS Issue] CLLocationManager 사용 시 주의할 점 (0) | 2022.05.30 |
[iOS Issue] status bar 클릭 시 scrollView가 top으로 이동하는 현상 (0) | 2022.05.25 |
댓글