해결된 질문
작성
·
533
답변 2
0
답변 감사드립니다. 말씀해주신 것처럼 .pi / 10 각도의 회전을 준 결과 imageView 자체가 찌그러지는 형태로 나타나는 것을 확인하였습니다. 45도의 회전을 주는 코드에 관해서 검색을 한 결과, CABasicAnimation의 toValue, fromValue 를 이용한 방법이 있다는 것을 알게 되었습니다.
여기서 한 가지, 여쭤보고 싶은 내용이 있어서 코드첨부와 함께 질문드립니다.
저같은 경우에는 , segue를 통하여 새로운 VC에 이동하였기에, viewDidAppear의 부분에 아래와 같은 코드를 작성하였는데요. 강사님께서 보시기에 실무적용에 있어서 적합한 코드 작성인지 아닌지의 의견을 얻고자 질문드립니다!
(찾아 본 결과, 45도 회전은 이 코드밖에 없었습니다.. 강사님께서 쓰시는 다른 코드작성이 있으신지에 대해 여쭙고 싶습니다! )
let rotation = CABasicAnimation(keyPath: "transform.rotation")
rotation.fromValue = 0
rotation.toValue = -(Double.pi / 4) // 시계 반대방향 45도 회전
rotation.duration = 0.2
rotation.fillMode = .forwards
rotation.isRemovedOnCompletion = false
rotateButton.layer.add(rotation, forKey: "rotationAnimation")
0
안녕하세요
버튼안에 imageView를 45도나 90도처럼 비스듬하지 않게 회전하는건 상관없는데
다른 각도는 비스듬하게 각이 잡히면서 버튼안에서 회전이 이루어지니 imageView의 영역이 줄어들게 됩니다.
.pi / 10 정도로 살짝만 해보시면 확인이 되실겁니다.
그러므로 버튼안에 있는 이미지뷰를 사용하지 않고 이미지뷰를 따로 만들어서 올려두거나 하는식으로 작업이 필요합니다.
또는 버튼 자체를 회전시키는 방법등을 사용해야 됩니다.
네 작성하신 코드로 사용하셔도 됩니다.
실제로 많이 사용하는 코드이기도 합니다.
CABasicAnimation를 선택하신건 좋은 선택 같습니다.