2014-11-24 6 views
1

이 작업을 수행하는 가장 좋은 방법은 무엇이 었는지 궁금합니다. 버튼 클릭으로 새로운 이미지 뷰를 만들고 있습니다. 이보기에는 팬 제스처 인식기가 연결되어 있어야합니다.동적으로 생성 된 여러보기에 팬 제스처 추가?

나는 이것을 작동시킬 수 없었다. 사용자가 여러보기를 만들 수 있어야하므로 동적이어야합니다. 지금까지

내 코드 :

버튼 클릭 방법 :

UIImageView *myView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"testImg.png"]]; 
myView.frame = CGRectMake(50, 50, 50, 50); 
myView.userInteractionEnabled = YES; 

[self.view addSubView:myView]; 

UIGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:myView action:@selector(moveView:)]; 
[myView addGestureRecognizer:panGesture]; 

moveView 방법은 단순히 새로운 뷰의 중심 위치를 변경합니다.

보기가 잘 생성되었지만보기를 이동하려고하면 '인식 할 수없는 선택기를 인스턴스로 보내기'오류가 발생합니다.

이 작업을 수행하는 올바른 방법은 무엇입니까 ?? 사전

답변

1

myView는 UIImageView 유형이므로 moveView : 메서드가 컨트롤러에 구현되어 있다고 가정합니다. MYVIEW의 방법

UIGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:myView action:@selector(moveView:)]; 

당신이 moveView 해고 새로 만든 제스처 인식기를 말할를 호출하여 .

는 moveView 전화를

UIGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(moveView:)];

보십시오 방법을 자기에 (컨트롤러를?) 오히려 :) 당신을 감사 단지 완벽 MYVIEW

+0

보다! – redspidermkv

1

당신은 선택 (방법) "moveView를 :"보내는에서

감사는 MYVIEW에 무엇을 구현하지 않습니다. (이 선택기에 응답하지 않음). 당신은 여기, 당신의 ViewController로 전송하기 위해 변경해야

UIGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(moveView:)]; 

한 가지 제스처를 추가 할 수있는보기, 다른 개체 무엇 화재 방법입니다.

관련 문제