2013-10-18 54 views
0

在我的應用程序中,我嘗試在偏航變化時移動標籤。在iPhone中順利移動視圖

視圖移動完美但不光滑。

我用陀螺儀&嘗試在我的應用程序中實現全景功能。

我的代碼如下:

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    pre_yaw=0,xpost=11; 

    _motionManager = [[CMMotionManager alloc] init]; 

    [_motionManager startDeviceMotionUpdates]; 
    [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(doSomething) userInfo:nil repeats:YES]; 

} 


- (void)doSomething 
{ 

    _deviceMotion = [_motionManager deviceMotion]; 

    fyaw=_deviceMotion.attitude.yaw * 180/M_PI; 
    fpitch=_deviceMotion.attitude.pitch * 180/M_PI; 
    froll=_deviceMotion.attitude.roll * 180/M_PI; 

self.lbl_pitch.text=[ NSString stringWithFormat:@"%.0f",fpitch]; 
    self.lbl_yaw.text=[ NSString stringWithFormat:@"%.0f",fyaw]; 
    self.lbl_roll.text=[ NSString stringWithFormat:@"%.0f",froll]; 

    fyaw=fabsf(fyaw); 

    if (fpitch<90 && fpitch>77) { 
     lbl_isvalid.textColor=[UIColor blueColor]; 
     [email protected]"Valid"; 

     if (fyaw>pre_yaw) { 
      float diff=fyaw-pre_yaw; 
      xpost=xpost+diff; 
      lbl_move.frame=CGRectMake(xpost, 82, 42, 21); 
     } 

    } 
    else{ 
     lbl_isvalid.textColor=[UIColor redColor]; 
     [email protected]"IN-Valid"; 
    } 

    pre_yaw=fyaw; 
} 

幫我解決這個問題。

謝謝

+0

嘗試將您的計時器間隔減少到1/60秒或1/30秒。 1/60是動畫的最佳時間範圍。 –

回答

0

嘗試降低的NSTimer的時間間隔。減少它,直到你達到可接受的平滑度,但不低於平均水平。我們不想過載CPU,因此會縮短電池壽命,對嗎?

相關問題