1

하위 뷰로 버튼이있는 uiimageview의 하위 클래스가 있습니다. uiimageview에 스케일링 아핀 변환을 적용하기 위해 손가락 집짓기를 추가했지만 단추 (하위 뷰)도 크기를 조정하지 않으려 고합니다. 버튼을 변환에서 제외 할 여지가 있습니까? 늘어나는만큼 내가 알고있는 변환은보기 내부의 모든 것과 그에 따른 모든 하위 뷰를 변환합니다.하위 뷰를 변형하지 않고 UIView에서 CGaffine 변환

+0

, 당신은 그보기 이외의 다른 요소를 가지고 가야 BTW, 당신은 어떻게 얻을 관리 않았다 uiimageview에 uibutton? 나는 인터페이스 빌더가 그것을 허용하지 않는다는 것을 믿는다 – Pochi

+0

@LuisOscar 그렇습니다, 아마 그가 코드에 의해 그것을 했는가, 그렇습니다 그는 그가 질문에서 목록으로 만들는 행동을 성취 할 수 없다, 그는보기 배열을 바꾸기 위하여 그것을 가지고있다 –

+0

@OmarAbdelhafith 그는 자신의 질문과 다른 사람들의 의견을 토대로 이미지 뷰가 아니라 뷰에 변형을 적용 해줄 것을 요구했기 때문에 이렇게 말했습니다. – Pochi

답변

1
UIImageViewUIButton 새 계층이

UIView -> UIImageView 
     -> UIButton 
처럼 될 것이다 아버지 UIView을 만드는 대신있는 UIImageView의 자녀로 buttons있는의, 귀하의 의견의 뷰 계층 구조를 변경하고 추가

있는 UIButton 지금 당신이 어떤 변화 UIImageView을 적용 할 수 있으며, 그것은 woul 해킹 할 수있는 UIButton

+1

그 한 가지 방법이지만, 제스처 인식기 또한 UIView뿐만 아니라 UIImageView와 상호 작용할 것이기 때문에 추가 UIView를 피하고 싶었습니다. 내가 시도한 또 다른 방법은 터치가 시작될 때 버튼을 제거한 다음 터치가 끝나면 추가하는 것이었지만 버튼은 크기가 조정 된 것처럼 보였습니다. 그게 그렇게 추측된다. 왜냐하면 당신이 변환 된 뷰에 서브 뷰를 추가하면 서브 뷰가 추가 될 것이기 때문이다. – stephen

2

한 가지 방법에 영향을 미치지 않습니다,있는 UIImageView 아니라 그 아이에게 형제 자매가 될 것입니다 변환의 역수를 모든 하위 뷰에 적용하면서 자체에 변환을 적용하려면 UIView에 카테고리를 추가해야합니다.

* CGAffineTransformInvert는 원하는대로 할 것입니다.

1

뷰 레이어로 변환을 적용하는 대신

view.layer.transform = ... 당신이 캔트

관련 문제