고양이 학 IOS (36) UI 의 손짓 이벤트 회전크기 조정끌다
오리지널 글, 전재 환영.적 내 옥 의 블 로그 주소:http://blog.csdn.net/u013357243?viewmode = contents 원본 코드:http://blog.csdn.net/u013357243/article/details/45560213
효과.
그림 의 압축 크기 조정, 드래그, 회전 동작 을 완성 합 니 다.
디자인 아이디어
드래그:
일단 제일 쉬 운 드래그.
//
-(void)panTest
{
UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] init];
[self.iconView addGestureRecognizer:pan];
[pan addTarget:self action:@selector(panView:)];
}
- (void)panView:(UIPanGestureRecognizer *)pan
{
//
// 1 2 3 4 5
CGPoint point = [pan translationInView:pan.view];
NSLog(@" %@", NSStringFromCGPoint(point));
CGPoint temp = self.iconView.center;
temp.x += point.x;
temp.y += point.y;
self.iconView.center = temp;
// OK
[pan setTranslation:CGPointZero inView:pan.view];
}
회전:
- (void)rotationTest
{
//
UIRotationGestureRecognizer *gesture = [[UIRotationGestureRecognizer alloc] init];
gesture.delegate = self;
[self.iconView addGestureRecognizer:gesture];
[gesture addTarget:self action:@selector(rotationView:)];
}
- (void)rotationView:(UIRotationGestureRecognizer *)gesture
{
// NSLog(@" %.1f", gesture.rotation);
//
// self.iconView.transform = CGAffineTransformMakeRotation(gesture.rotation);
// transform
self.iconView.transform = CGAffineTransformRotate(self.iconView.transform, gesture.rotation);
// ( , )
gesture.rotation = 0;// , OK
}
활용 단어 참조
- (void)pichTest
{
//
UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc] init];
pinch.delegate = self;
[self.iconView addGestureRecognizer:pinch];
[pinch addTarget:self action:@selector(pinchView:)];
}
- (void)pinchView:(UIPinchGestureRecognizer *)pinch
{
// NSLog(@" %.1f", pinch.scale);
// self.iconView.transform = CGAffineTransformMakeScale(pinch.scale, pinch.scale);
// 1.0 * 0.9
self.iconView.transform = CGAffineTransformScale(self.iconView.transform, pinch.scale, pinch.scale);
pinch.scale = 1.0;
}
회전 과 크기 조정
이렇게 하면 한 제스처 만 사용 할 수 있 고, 동시에 회전 과 크기 조정 을 할 수 있 도록 에이 전 트 를 추가 하여 여러 제스처 를 판단 할 수 있 습 니 다.대 리 를 실현 해 야 한다.
@interface NYViewController ()<UIGestureRecognizerDelegate>
// BOOL view
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
NSLog(@"%@ - %@", gestureRecognizer.class, otherGestureRecognizer.class);
return YES;
}
주의:
그리고 또 주의해 야 할 점 이 있어 요.
UIImageView 는 이 두 개 를 체크 해 야 상호작용 이 가능 합 니 다.
중간 에 있 는 알고리즘 같은 것 은 더 이상 말 하지 않 겠 습 니 다. 앞의 블 로그 에 그 려 진 그림 이 있 습 니 다. 여러분 이 관심 이 있 는 것 은 보 실 수 있 습 니 다.어차피 고양 이 는 직접 가 져 다 쓰 거나 느낌 으로 맞 히 는 경우 가 많다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JAVA- 소스 코드 분할(Package 사용)▪️test45.java 소스 코드 ▪️test47.java 소스 코드 ▪️실행 결과 더하면 12, 당기면 8 ▪️예① 클래스 이름에 대한 완전한 입력 생략 import 문 사용 ▪️예① test45.java 소스 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.