1
이미지 뷰가있는 컨테이너 뷰와 원 모양의 circleView가 있습니다. 핀치 제스처로 원 모양의 circleView가 아닌 이미지 뷰의 배율을 조정하고 싶습니다.스케일링 뷰의 서브 뷰 문제
다음은뿐만 아니라 circleView가 축소지고로 컨테이너보기 이미지 뷰를 확장에 내 코드
if(gestureRecognizer.state == .began || gestureRecognizer.state == .changed) {
let currentScale: CGFloat = containerView.layer.value(forKeyPath: "transform.scale") as! CGFloat
// Constants to adjust the max/min values of zoom
let kMaxScale: CGFloat = 2.0
let kMinScale: CGFloat = 1.0
var newScale = 1 - (lastScale - gestureRecognizer.scale)
// new scale is in the range (0-1)
newScale = min(newScale, kMaxScale/currentScale)
newScale = max(newScale, kMinScale/currentScale)
containerView.transform = containerView.transform.scaledBy(x: newScale, y: newScale)
lastScale = gestureRecognizer.scale
}
입니다.
누구든지 하위보기의 크기가 조절되는 것을 방지 할 수 있습니다.
감사합니다. 컨테이너보기를 확장 한 후에 원보기를 사용하여 컨테이너보기를 터치하는 원을 추가하고 싶습니다. @Duncan –
질문을 편집하여 시도한 코드를 표시하면 나와 다른 사람이 귀하를 도울 수 있습니다. –