에 대한 대안을 찾고 중심이 아닌 다른 지점에서의 UIView를 확장. 이것은 기본 앵커 포인트 인 (.5, .5) - 중심에 의해 축척됩니다. 왼쪽으로 확대하는 것처럼 왼쪽으로 늘어서도록 확대 비율을 변경하고 싶습니다. anchorPoint를 오른쪽 중앙에 설정하여이 작업을 수행 할 수 있습니다. 그러나 이것은 프레임을 설정하는 등의 문제를 일으 킵니다. 원하는대로 스케일 변환을 적용하는 더 좋은 방법이 있습니까? 나는 사용자 정의 변환 행렬로 그것을 수행 할 수 있다고 생각했지만, 행렬 수학은 좋지 않습니다.나는 UIView의 크기를 조절하는 CGAffineTransformMakeScale을 사용하고 anchorPoint
4
A
답변
3
사용 anchorPoint, 그냥 저장하고 this answer 같이 다시로드 프레임 불확실성 주위에 얻을 수 있습니다.
0
먼저 실행이 코드 당신은 더 나은 이해를해야합니다. 여기서 lblLabel은 제 레이블입니다. 그에 따라 변경할 수 있습니다. 또한 CGPoint 확인의 (X : 10, Y : 98) 및 CGPoint (X : 10, Y : 108) 파> 요구있다. 레이블의 상단 왼쪽 모서리에서 애니메이션이 적용됩니다. 앵커 포인트와 위치를 요구 사항에 맞게 변경하십시오.
self.lblLabel.layer.anchorPoint = CGPoint(x: 0.0,y :0.0)
self.lblLabel.layer.position = CGPoint(x: 10, y: 98)
lblLabel.transform = CGAffineTransform(scaleX: 0.5, y: 0.5)
UIView.animate(withDuration: 1.0) {
self.lblLabel.layer.position = CGPoint(x: 10, y: 108)
self.lblLabel.transform = CGAffineTransform(scaleX: 1.2, y: 1.2)
}