我需要某個問題的幫助,而不確定如何解決該問題。基本上我有一個視圖,通過使用加速度計切換到另一個視圖,問題是它只能使用一次。當我回到第一個視圖時,加速計將不會再工作,直到我重建項目。在切換視圖時使UIAccelerometer工作多次
這是我使用的方法:
- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration {
float aX = ABS(acceleration.x);
float aY = ABS(acceleration.y);
float aZ = ABS(acceleration.z);
if(sqrt(aX*aX+aY*aY+aZ*aZ)>1.5f)
{
SecondViewController *screen = [[SecondViewController alloc] initWithNibName:nil bundle:nil];
screen.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
//screen.words = self.easy;
[self presentModalViewController:screen animated:YES];
[screen release];
self.accelerometer.delegate = nil;
}
任何形式的幫助將非常感激。
你爲什麼設置self.accelerometer.delegate = nil;當你切換到其他視圖?可能是它造成了問題。 – 2011-04-18 14:17:14
如果我沒有設置它,它會給我一個錯誤,因爲我試圖在當前轉換仍在運行時啓動轉換,因爲每次都會調用「accelerometer:didAccelerate」函數。 – 2011-04-18 14:29:49
感謝您回到原始視圖,您是否再次分配加速度計委託?即無論在viewDidLoad/viewWillAppear/viewDidAppear任何適合,你可以把self.accelerometer.delegate =自我那樣。我想這應該適合你。 – 2011-04-19 04:17:53