2010-03-23 56 views
0

我想要加速度計檢測單獨的視圖中的震動和加速度計方法不會被調用?加速度計如何在具有獨立視圖的控制器中使用?

當我放置代碼來設置控制器viewDidLoad方法中的加速度計屬性並在實現文件中添加...... didAccelerate:(UIAcceleration *)加速度時,會檢測到控制器抖動。

我是一個新手,iPhone開發,並認爲可能是代碼:

accelerometer.delegate =自我;

應該指向哪個視圖?而不是自我?

任何幫助將非常感激。我真的不知道如何解決這個問題?

回答

0

如果您的加速度計回調方法未被調用,那麼您的應用程序委託(或其他自定義類)不支持UIAccelerometerDelegate類。一些非常寬鬆的僞代碼上做的是delcaration在你的應用程序委託...

@interface MyApplicationDelegate: UIApplicationDelegate<UIAccelerometerDelegate> 
{ 
    .. class definition stuff .. 
} 

看到這裏的蘋果文檔...

http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/AdvancedFeatures/AdvancedFeatures.html

和審查訪問加速度計活動

+0

感謝羅布:) 我到了那裏,希望應該有它的工作很快。問題是我有一個單獨的視圖和控制器,並已分配給UIView的和didAccelerate方法來執行我的代碼。 我不確定在哪裏設置加速度計間隔和委託,因爲UIView不支持viewDidLoad方法。 再次感謝您的幫助。 – 2010-03-23 21:09:32

+0

終於搞定了。刪除UIView並將所有代碼放在控制器中。不是最好的解決方案,但它的工作原理,並將在稍後重新考慮。感謝所有的幫助:) – 2010-03-23 22:45:01

+0

很高興我可以得到一些幫助,很高興的事情終於奏效。你用什麼控制器來實現你所有的代碼?它是導航控制器還是視圖控制器? – 2010-03-24 15:31:02

0

初學者通常認爲API參考與實際使用Cocoa/Objective-C的代碼之間存在認知斷開。

此示例代碼顯示視圖控制器如何訪問iPhone OS應用程序中的加速計。

iPhone Dev Site link

提示:你設置的更新間隔?

+0

感謝您的幫助。我可以讓加速度計在控制器類文件中工作,但不能在單獨的UIView對象中工作。我確定我錯過了一些非常明顯的東西。 更新間隔設置爲: accelerometer.updateInterval = 1.0f/60.0f; – 2010-03-23 16:39:53

+0

終於搞定了。刪除UIView並將所有代碼放在控制器中。不是最好的解決方案,但它的工作原理,並將在稍後重新考慮。感謝您的幫助:) – 2010-03-23 22:45:46

相關問題