HI,
У меня есть представление, которое имеет три UIScrollViews на экране. Я хочу случайным образом прокручивать UIScrollViews в разные позиции всякий раз, когда пользователь трясет iPhone, но я не могу этого сделать.
Я реализовал следующее в своем классе ViewController, чтобы обнаружить и обработать жест встряхивания, 3 UIScrollViews также принадлежат к тому же классу. Жест встряски обнаружен, но UIScrollViews не изменяются. Что я делаю не так?
Я пробовал и motionBegan, и motionEnded.
-(BOOL)canBecomeFirstResponder {
return YES;
}
-(void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[self becomeFirstResponder];
}
- (void)viewWillDisappear:(BOOL)animated {
[self resignFirstResponder];
[super viewWillDisappear:animated];
}
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
if (motion == UIEventSubtypeMotionShake)
{
int randomTag = arc4random() % [dirContents count];
CGRect nextImageView = [[scrollView1 viewWithTag:2] frame];
[scrollView1 scrollRectToVisible:nextImageView animated:YES];
randomTag = arc4random() % [dirContents count];
nextImageView = [[scrollView2 viewWithTag:4] frame];
[scrollView2 scrollRectToVisible:nextImageView animated:YES];
randomTag = arc4random() % [dirContents count];
nextImageView = [[scrollView3 viewWithTag:4] frame];
[scrollView3 scrollRectToVisible:nextImageView animated:YES];
NSLog(@"Shake Detected End");
}
}
Спасибо