2012-11-16 4 views
1

저는 touchesBegan과 touchesMoved를 사용하여 UIImageView를 화면에서 터치 할 때마다 움직입니다. 그것은 마커 (움직이는 UIimageView)를 움직이고 UIImageview에서 모양을 그리고 그래프를 읽습니다.xcode touches 다수의 작업을 수행합니다

그러나 데이터를 사용하여 작업을 수행하려고 할 때마다 (예 : 레이블을 업데이트 할 때마다 UIImageView가 원래 있던 위치로 돌아갑니다.)

-(void) touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event{ 

UITouch *myTouch =[[event allTouches] anyObject]; 
CGPoint location = [myTouch locationInView:self.view]; 

int x = location.x; 
int y = location.y; 

NSLog(@"x = %i",x); 
NSLog(@"y = %i",y); 

CGPoint p={x, y}; 
circles.center = p; 

위의 코드는 정상적으로 작동하고 이미지를 새 위치로 이동시킵니다. 그러나, 나는에서 .center = P 더 이상 somethig에있다

changeInY.text = [NSString stringWithFormat:@"Main Label"]; 

하고있는 UIImageView (원) 같은 정말 간단 추가 없습니다. 라벨이 업데이트되고 UIImageView가 터치하기 전에 스토리 보드에 버려진 장소로 돌진했습니다. 그것은 확실히 움직이지만 돌진합니다. 라벨 지시가 없으면 라벨 지시가 그대로 유지되어 다음 터치를 완료합니다.

내 x 위치와 y 포지션을 제공하고 NSLog 문에서이를 인쇄 할 수는 있지만 레이블로 해당 값을 업데이트하거나 그와 관련이없는 작업은 수행하지 않습니다 UIImageView. 런타임에 UIImageView를 동적으로 생성하고 싶지 않습니다. 나는 그것을 사용하고 그것을 옮기고 싶다. 저는 circles.center = p 라인이 바뀌어야한다고 확신합니다.하지만 그 변화를 만들고 거기에 머무르는 방법을 모르겠습니다.

어떤 도움 난 그냥 '보기'상자 위에 잘못된 레이블을 배치 할 필요가 있다고,

+0

나는 지금 수십 가지 방법을 시도하고있다. 대신 탭 인터셉터로 제스처 인식기를 사용해 보았습니다. NSUerdefaults 및 nsdictionary에 값을 저장하고 나중에 사용하려고했습니다. 나는 touchesended, 선택기를 사용하여 시도하고 설정된 시간 간격으로 공연, 내가 재 시도, 내가 울 보았지만, 항상 아무것도 항상하려고 할 때 그것은 항상 원래 위치로 이미지를 이동합니다. 나는 이러한 감동을 가로 채고 유용하게 사용할 수 없습니다. uiimageview 만 이동하거나 다른 작업을 수행하십시오. – user1830864

+0

나는 UITouchPhaseCancelled와 UITouchPhaseEnded를 시도했다. 나는 [[next nextResponder] touchesBegan : withuches : event]를 시도했다. 나는 [super touchesbegan]을 시도했다. 나는 지금 빨대에서 잡는 중이다. – user1830864

+0

3 일과 단 한 번의 코멘트가 아닙니다. 나는이 사이트를 다시 사용하지 않을 것이라고 생각한다. – user1830864

답변

0

이 생각할 수있는 모든 방법으로 코드를 재 작성의 약 14 시간 후에 밝혀 매우 환영 할 것이다. 어떤 종류의 레이어링 문제가있었습니다. 레이블이 보이지 않는 '보기'에 배치되면 지난 2 일 동안 시도한 코드의 거의 모든 조합이 효과가있었습니다.

관련 문제