![](/img/trans.png)
[英]How do I implement code to get a live update to the displayed UIImageView?
[英]How do I implement a timer for this code?
-(void) play
{
CMMotionManager *motionManager = [[CMMotionManager alloc] init];
[motionManager startDeviceMotionUpdates];
BOOL timeReached = NO;
while(!self.stopButtonPressed)
{
if(motionManager.deviceMotion.userAcceleration.y >= ... && motionManager.deviceMotion.userAcceleration.y <= ...)
{
//start timer
}
while(motionManager.deviceMotion.userAcceleration.y >= ... && motionManager.deviceMotion.userAcceleration.y <= ... && !timeReached)
{
if(//check timer & if timer is >=300ms)
{
timeReached = YES;
NSLog(@"acceleration on Y-axis stayed between ... & .. for at least 300ms");
}
}
}
}
看起來你的方式錯了; 您應該將accelerometerUpdateInterval
設置為您要查找的任何內容,而不是運行時鍾,並使用startAccelerometerUpdatesToQueue:withHandler:
來接收數據。
從Apple文檔 :
以指定間隔處理運動更新
為了以特定間隔接收運動數據,應用程序調用“start”方法,該方法采用操作隊列(NSOperationQueue的實例)和特定類型的塊處理程序來處理這些更新。 運動數據被傳遞到塊處理程序中。 更新頻率由“interval”屬性的值確定。
加速度計。 設置accelerometerUpdateInterval屬性以指定更新間隔。 調用startAccelerometerUpdatesToQueue:withHandler:方法,傳入一個CMAccelerometerHandler類型的塊。 加速度計數據作為CMAccelerometerData對象傳遞到塊中。
一旦你完成所有設置,就讓它運行。 當您收到塊中的完成通知時,請查看您收到的數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.