UIAccelerometer从子视图调用不起作用

时间:2011-08-25 11:25:40

标签: ipad uiview delegates uiviewcontroller uiaccelerometer

我在iPad的应用程序中对UIAccelerometer有一个“有趣”的问题。

在我的UIViewController中,我有一个激活Accelerometer的方法。这就是它的样子:

-(void)startAcc{

UIAccelerometer *gForce = [UIAccelerometer sharedAccelerometer];
gForce.delegate = self;
gForce.updateInterval = kUpdateInterval;
}

在我的viewWillAppear中,我调用此方法来激活Accelerometer,它运行正常。我收到加速并用它在屏幕上移动视图。

在用户输入上,我然后加载需要使用加速度计的另一个视图(UIView)。所以我用这段代码在我的UIViewController中停止加速度计:

[UIAccelerometer sharedAccelerometer].delegate = nil;

然后我加载UIView并以相同的方式激活那里的加速度计。一切正常。

当我想要关闭UIView并再次启动UIViewController中的加速度计时,我的问题就开始了。我在UIView中停止它并从UIView中调用我的UIViewController中的startAcc方法。该方法执行,但我没有收到加速度: - (

方法相同,但结果不同。

有谁能引导我到这里我缺少的东西?

由于

1 个答案:

答案 0 :(得分:0)

解决了它。通过[self resignFirstResponder];从子视图调用startAcc方法后,它可以工作。