Wednesday, 11 September 2013

ObjectiveC, zoom only horizontal and move in a scrollview

ObjectiveC, zoom only horizontal and move in a scrollview

I am drawing digital signals in a view. This view is in a scrollview. I
use the gesturePich-Function to zoom. -Signalwidth*scalevalue
My problem is, i don't know how to scroll during scaling. I have tried to
move the view with the scalevalue too.
- (IBAction)gesture_pinch:(UIPinchGestureRecognizer *)recognizer {
CGFloat newXPoint;
_mCurrentScale += [recognizer scale] - _mLastScale;
_mLastScale = [recognizer scale];
if(_scaledSW != 0 && _mCurrentScale !=0)
if(_scaledSW*_mCurrentScale > 15 && _scaledSW*_mCurrentScale < 150){
_scaledViewPoint = [_view_SignalScrollView contentOffset].x;
newXPoint = _scaledViewPoint*_mCurrentScale;
_view_drawSignals.sw = _scaledSW*_mCurrentScale;
MyLog(@"oldpoint:%f, newPoint:%f,
scale:%f\n",_scaledViewPoint,newXPoint,_mCurrentScale);
[_view_SignalScrollView scrollRectToVisible:CGRectMake(newXPoint,
[_view_SignalScrollView contentOffset].y,
_view_SignalScrollView.frame.size.width,
_view_SignalScrollView.frame.size.height) animated:NO];
}
if([recognizer state] == UIGestureRecognizerStateEnded) {
_mLastScale = 1;
_mCurrentScale = 1;
_scaledSW = _view_drawSignals.sw;
_scaledViewPoint = newXPoint;
[self resize];//resize the signalview
}
[self callDraw:@""];//redraw signals
}

No comments:

Post a Comment