0

特定の変数が検証基準に合格するかどうかを分析する検証方法があります。

コードは次のとおりです。

-(void)scaleTextView:(UIPinchGestureRecognizer *)pinchGestRecognizer{

CGFloat scale = pinchGestRecognizer.scale;
CGFloat lastScale;
lastScale = 1.0;
if([pinchGestRecognizer state] == UIGestureRecognizerStateEnded) {
    // Reset last scale
    lastScale = 1.0;
    return;
}
if ([pinchGestRecognizer state] == UIGestureRecognizerStateBegan ||
    [pinchGestRecognizer state] == UIGestureRecognizerStateChanged) {

    CGFloat pinchscale = [pinchGestRecognizer scale];
    CGFloat scaleDiff = pinchscale - lastScale;

    if (scaleDiff < 0){
        scaleDiff *= 2; // speed up zoom-out 
        [self zoomSymbol:selectObject Scale:-scale];
    }
    else{
        scaleDiff *= 0.7; // slow down zoom-in 
        [self zoomSymbol:selectObject Scale:scale];
        lastScale = pinchscale;
    }
}    
} 

「' lastScale ' に保存された値は読み取られません」および「' scaleDiff ' に保存された値は読み取られません」という警告が表示されます。みんなありがとう!

4

1 に答える 1

3

lastScaleはローカル変数であり、gestureRecognizer の状態プロパティのすべてのケースに対応することはありません。static代わりに変数を使用する必要があります。

static CGFloat lastScale = 1.0;
...
于 2013-06-21T08:47:21.127 に答える