2014-12-29 4 views
2

사용자가 확대 할 수있는 파형이 있고 파형과 함께 확장 및 이동하려는 편집 트리머가 있습니다.UIPanGestureRecognizer가 한계를 넘어서 이동합니다.

편집 트리머를 확장하고 팬 할 수 있지만 문제가있을 때 : 편집자가 내가 설정 한 범위에 도달하면 흔들림이 생기고 조금 더 움직입니다. 그럴거야.

- (IBAction)handleWaveformPanGesture:(UIPanGestureRecognizer *)recognizer { 

CGPoint translation = [recognizer translationInView:self.waveform]; 


if (self.waveform.zoomStartSamples > 0 && self.waveform.zoomEndSamples < self.waveform.totalSamples) { 

    editor.center = CGPointMake(editor.center.x + translation.x, editor.center.y); 
    [leftHandle setCenter:CGPointMake(editor.frame.origin.x, editor.center.y)]; 
    [rightHandle setCenter:CGPointMake((editor.frame.origin.x+editor.frame.size.width), editor.center.y)]; 
} 

[recognizer setTranslation:CGPointZero inView:self.waveform]; 

} 

zoomStartSamples 사용자가 줌인 파형의 시작에서 보이지 않는 파형의 샘플들을, 그리고 zoomEndSamples 파형의 끝에서 보이지 샘플이다 : 여기

내 코드 사용자가 확대 할 때 편집기가 움직이지 않도록 내 제약 조건이 설정됩니다.

편집기와 파형이 제약 조건 중 하나에 도달 할 때를 제외하고 모든 것이 효과적입니다. 편집자는 왼쪽에서 조금 뒤쪽을, 앞쪽에서 조금 전진합니다. 에디터가 약간의 힘을 가지고있는 것처럼 행동합니다.

아이디어가 있으십니까? 감사.

+0

가능성은 당신이 어떤 효과의 영상을 제공 할 수 있습니다 어떻게 생겼어? 텍스트 설명에서 이해하기 어려운 종류. – Rick

답변

1

편집기 자체 크기가 있기 때문에. 그것은 더 제약 "공간"에 이동해야

의 당신이 될 것입니다 편집기의 운동이 경우 허용 X의 크기,하는 구형을 사용할 수 있다고 가정 해 봅시다 :

{CGRectGetMinX(rect) + editor.size.width*0.5,CGRectGetMaxX(rect) - editor.size.widht*0.5}