2013-05-21 44 views
0

我有一個HandlePan方法的視圖控制器:的UIViewController通float值的UIView方法

-(void)handlePan:(UIPanGestureRecognizer *)gestureRecognizer 
{ 
    UIView *piece = [gestureRecognizer view]; 

    [self adjustAnchorPointForGestureRecognizer:gestureRecognizer]; 

    if ([gestureRecognizer state] == UIGestureRecognizerStateBegan || [gestureRecognizer state] == UIGestureRecognizerStateChanged) { 
     CGPoint translation = [gestureRecognizer translationInView:[piece superview]]; 
     CGFloat panSpeed = (translation.x+translation.y)/2; 
     NSLog(@"PanSpeed %f",panSpeed); 
     [someview viewPan:panSpeed]; 
    } 

} 

然後,我有一個UIView稱爲someview與方法:

- (void) viewPan:(float *)PanAngle { 
    NSLog(@"Panning...%@",PanAngle); 
} 

但我得到一個nilPanAngle

這樣做的正確方法是什麼?謝謝!

+0

?在'someview.h'中使用' – rdelmar

+0

',' - (void)viewPan;',在VC中,'#import「someview.h」'。然後我調用方法'[someview viewPan:panSpeed]'。 – sooon

回答

2

浮動不是一個對象,所以沒有必要對你是如何定義的語句[someview viewPan:panSpeed(得到一個參考)「someview」指針

- (void)viewPan:(float)PanAngle{ 
    NSLog(@"Panning...%f",PanAngle); 
} 
+0

我仍然得到一個null,不知道爲什麼。 – sooon

+0

你可以設置一個斷點並檢查PanAngle是什麼 – peko

+0

一個靈長類型如何可以爲null?如果你是真的傳遞一個float,並且在你的NSLog打印%f而不是%@時,你至少會得到一個0或一個通配符,但不爲null:o – geo