【问题标题】:UIViewController pass float value to UIView methodUIViewController 将浮点值传递给 UIView 方法
【发布时间】:2013-05-21 15:31:43
【问题描述】:

我有一个带有HandlePan 方法的 ViewController:

-(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];
    }

}

然后我有一个名为someview 的UIView 方法:

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

但我得到了nil 的PanAngle。

这样做的正确方法是什么?谢谢!

【问题讨论】:

  • 你是如何在语句 [someview viewPan:panSpeed] 中定义(获取引用)“someview”的?
  • 在someview.h,- (void) viewPan;,在VC,#import "someview.h"。然后我调用方法[someview viewPan:panSpeed]。

标签: ios ipad uiview uiviewcontroller


【解决方案1】:

float 不是对象,所以不需要指针

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

【讨论】:

  • 我仍然得到一个空值,不知道为什么。
  • 灵长类动物类型如何为空?如果你真的传递了一个浮点数并且在你的 NSLog 中打印 %f 而不是 %@,那么你将至少得到一个 0 或一个百搭数字,但不是 null :o
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多