홈>
UIScrollView
가있다
그것은 확대
UIImageView
가
즉, 다음을 구현합니다.
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return self.imageView;
}
UIRotationGestureRecognizer
를 추가하려고합니다
이
imageView
에
그리고 나는 다음과 같이합니다 :
_rotationGestureRecognizer = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotate:)];
[self.imageView addGestureRecognizer:_rotationGestureRecognizer];
-(void)rotate:(id)sender
{
UIRotationGestureRecognizer *rotationGestureRecognizer = [(UIRotationGestureRecognizer*)sender retain];
if(rotationGestureRecognizer.state == UIGestureRecognizerStateEnded)
{
self.lastRotation = 0.0;
return;
}
CGFloat rotation = 0.0 - (self.lastRotation - rotationGestureRecognizer.rotation);
rotationGestureRecognizer.view.transform = CGAffineTransformRotate(rotationGestureRecognizer.view.transform, rotation);
self.lastRotation = rotationGestureRecognizer.rotation;
[rotationGestureRecognizer release];
}
그냥 궁금합니다. 심지어 이것을 할 수 있습니까? 그것은
UIScrollView
것 같다
내
UIImageView
에 접촉을 차단
아무 일도 일어나지 않기 때문입니다. 애플은
UIScrollView
에서 확대보기로 이것을하지 않는 것이 좋습니다
?
- 답변 # 1
- 답변 # 2
-(void)rotate:(UIRotationGestureRecognizer *)sender { [self bringSubviewToFront:[(UIRotationGestureRecognizer*)sender view]]; if([(UIRotationGestureRecognizer*)sender state] == UIGestureRecognizerStateEnded) { lastRotation = 0.0; return; } CGFloat rotation = 0.0 - (lastRotation - [(UIRotationGestureRecognizer*)sender rotation]); CGAffineTransform currentTransform = [(UIPinchGestureRecognizer*)sender view].transform; CGAffineTransform newTransform = CGAffineTransformRotate(currentTransform, rotation); [[(UIRotationGestureRecognizer*)sender view] setTransform:newTransform]; lastRotation = [(UIRotationGestureRecognizer*)sender rotation]; lastRotation = [(UIRotationGestureRecognizer*)sender rotation]; }
관련 자료
- android - 확대/축소 후 이미지 뷰 캔버스 그리기 위치를 수정하는 방법
- java - Android에서 애니메이션 이미지 뷰를 회전하고 싶습니다
- ios - 프로그래밍 방식으로 ImageView를 ScrollView 하단에 정렬하려면 어떻게합니까?
- ios - 프레임을 변경하지 않고 ScrollView에서 테이블 축소
- android - 회전식 슬라이드 쇼와 함께 ImageView를 회전시키는 방법
- ios - 루프 스위프트 5를 통해 scrollview 내부의 imageView에 대해 trailingAnchorconstraint를 설정하는 방법
- uiimageview - 무한 루프에서 스케일링하여 imageView를 회전하는 방법
관련 질문
- ios : XCAssets 번들에서 NSURL을 얻을 수 있습니까?
- iphone - "현재 iTunes Store에서 구매를 처리 할 수 없습니다"라는 메시지는 무엇을 의미하며 어떻게 해결할 수 있습니까?
- iphone : 수퍼 뷰의 수퍼 뷰와 관련하여 UIView의 위치를 가져옵니다.
- ios : Swift JSONEncoder ()가 잘못된 이미지 Base64 문자열을 구문 분석합니다.
- iphone : 특정 크기의 UIImage 생성
- ios : UIBezierPath에서 포인트 목록을 얻는 방법은 무엇입니까?
- ios : Xcode 에너지 영향 매우 높음-iPhone X에 표시
- iOS 장치와 연결된 실제 마우스의 현재 위치를 얻는 방법은 무엇입니까?
- ios : Mac에서 포드 업데이트가 작동하지 않음, 루비 오류 메시지가 표시됨
- iphone : 앱이 포 그라운드 iOS에있는 동안 푸시 알림 받기
다음 코드가 작동합니다. imageView 대신 scrollView에 제스처를 추가하십시오.
Swift 5 버전 :