뷰의 레이어에 직접 원을 그렸습니다. 장치 회전이 완벽하게 보입니다.장치 회전 중에 CALayer 하위 레이어가 정상적으로 작동하지 않음
드로잉은 func draw(_ rect: CGRect)
메서드에서 발생합니다.
그런 다음 하위 레이어에서 원을 그린 다음 init 메서드의보기에 추가했습니다.
func draw(_ rect: CGRect)
메서드에서 하위 레이어의 프레임을 업데이트합니다.
기기 회전이 완료되기 전에 하위 레이어가 업데이트되고있는 것처럼 보입니다. 그러므로 아래 첫 번째 이미지.
이 모양을 조금 더 개선하려면 빠른 수정으로 하위보기 레이어를 클립해야합니다. 이렇게하면 원이 주 뷰 (주황색 뷰)로 유출되지 않습니다.
주요 문제는 해결되지 않았지만 하위 레이어를 추가하는 것이 왜이 문제를 일으키는 지 알 수 없습니다.
또한 하위보기의 그리기 방법에서 하위 레이어의 내용을 그립니다. 오렌지보기, 슈퍼 뷰가 회전하는 동안
주 중간
의 사각형 슈퍼 뷰입니다되지 않은 : 나는 모든 때문에 예제 코드를 추가하지 않은 내가 본 예들도 똑같은 문제가 있습니다. 다른 방법은 뷰의 크기를 하드 코딩하여 문제를 해결하므로 회전으로 인해 뷰의 크기가 조정되지 않고 회전으로 인해 크기가 조정되지 않습니다. 또한보기를 세로 모드로 고정하는 경향이 있습니다.
비록 예제 코드가 필요하다면 간단한 예제를 만들 수 있습니다.
layoutSubview 메서드에서 레이어 그리기를 시도 했습니까? – Ocunidee
간단한 예제를 제공 할 수 있습니까? @ 3366784 –
예제 코드가있는 훌륭한 기사를 찾았습니다. 제 대답을 살펴보십시오. – 3366784