Для упражнения я создал проект для экспериментов с функциями акселерометра iPhone. Прямо сейчас, когда я запускаю приложение на своем устройстве, он начинается с чистого экрана, встряхивает телефон и отображается изображение.В настоящее время у меня есть действие акселерометра, которое отображает изображение, но не очищает/не восстанавливает
Мне нужно закрыть приложение, чтобы очистить изображение. Я надеялся, что кто-то может предоставить решение, которое сделает сброс изображения, чтобы я мог повторять процесс столько раз, сколько захотел. (встряхните телефон, изображение на экране, ясное изображение) Я думаю, что ему нужен таймер или что-то еще, не уверен. Вот исходный код. Спасибо, что нашли время, чтобы прочитать и помочь.
// ViewController.m
// AccelTest
//
#import "ViewController.h"
@interface ViewController()
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
}
- (void)viewDidUnload
{
[super viewDidUnload];
}
-(void)viewWillAppear:(BOOL)animated{
[self startAccel];
[self view];
}
-(void)viewWillDisappear:(BOOL)animated{
[self stopAccel];
[self view];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return NO;
}
-(void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration{
double const kThreshold = 2.0;
// double const kThreshold = 2.0;
if (fabsf(acceleration.x) > kThreshold
|| fabsf(acceleration.y) > kThreshold
|| fabsf(acceleration.z) > kThreshold){
[self.view addSubview:[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"Icon.png"]]];
}
}
-(void)startAccel{
UIAccelerometer * accel = [UIAccelerometer sharedAccelerometer];
accel.delegate = self;
accel.updateInterval = .25;
}
-(void)stopAccel{
UIAccelerometer * accel = [UIAccelerometer sharedAccelerometer];
accel.delegate = nil;
}
@end