문제

내 앱의 iPhone 화면 주위에서 uiimageview를 드래그하려고합니다.

현재 설정 한 드래그 기능은 정상이며 이미지를 드래그하면 화면 주위로 이동합니다. 문제는 이미지 뷰를 드래그 할 필요가 없다는 것입니다. 화면의 어느 곳에서나 드래그 할 수 있습니다. 이미지를 움직입니다. 나는이 플랫폼을 처음 접했기 때문에이 문제를 해결하기 위해 무엇을 해야하는지 실제로 생각할 수 없습니다. 이미지를 드래그하려는 현재 코드는 다음과 같습니다.

 - (void) touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event {
    CGPoint pt = [[touches anyObject] locationInView:pig];
    startLocation = pt;


}
- (void) touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event {
    CGPoint pt = [[touches anyObject] locationInView:pig];
    CGRect frame = [pig frame];
    frame.origin.x += pt.x - startLocation.x;
    frame.origin.y += pt.y - startLocation.y;
    [pig setFrame: frame];
}

모든 도움이 감사합니다. 그건 그렇고 돼지는 uiimageview입니다. 또한 이미지보기 "PIP"의 사용자 상호 작용을 설정하면 이미지가 더 이상 드래그 할 수 없지만 활성화되지 않도록 설정하지 않은 경우입니다.

도움이 되었습니까?

해결책

UiimageView를 서브 클래스하고 구현하려고 시도 할 수 있습니다 touchesBegan: 그리고 touchesMoved: 직접. 그런 다음 InterfaceBuilder에서 uiimageview의 서브 클래스를 선택하십시오.

대체 텍스트 http://img.skitch.com/20090728-xetretcfubtcj7ujh1yc8165wj.jpg

오 예, 이제 사용자 상호 작용을 다시 설정해야합니다 ...

다른 팁

적어도 타이머 스레드에서 시작 / 커밋 애니메이션 시퀀스에 포함시켜야합니다.

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.02]  /* 0.02 seconds suration*/

/* move pig coordinates here */

[UIView commitAnimations];

새 움직임을 터치 매도로 저장 한 다음 타이머 스레드에서 처리하십시오.

UIView 카테고리를 사용하여 드래그 가능하고 드래그 가능한 영역을 정의 할 수 있습니다.https://github.com/rtoshiro/txdraganddrop

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top