0

iPad用アプリのUIAccelerometerに「興味深い」問題があります。

私のUIViewControllerには、加速度計をアクティブにするメソッドがあります。これはどのように見えるかです:

-(void)startAcc{

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

私のviewWillAppearでは、このメソッドを呼び出して加速度計をアクティブにしましたが、問題なく機能します。加速度を受け取り、それを使用して画面上のビューを移動します。

ユーザー入力時に、加速度計を使用する必要がある別のビュー(UIView)をロードします。したがって、次のコードを使用してUIViewControllerの加速度計を停止します。

[UIAccelerometer sharedAccelerometer].delegate = nil;

次に、UIViewをロードし、同じ方法で加速度計をアクティブにします。すべて正常に動作します。

私の問題は、UIViewを閉じて、UIViewControllerで加速度計を再開したいときに始まります。UIViewで停止し、UIViewからUIViewControllerのstartAccメソッドを呼び出します。メソッドは実行されますが、アクセラレーションを受け取りません:-(

同じ方法ですが、結果が異なります。

誰かが私がここで欠けているものに私を導くことができますか?

ありがとう

4

1 に答える 1

0

解決しました。[selfresignFirstResponder]を置くことによって; サブビューからstartAccメソッドを呼び出すと、機能します。

于 2011-08-29T01:28:42.743 に答える