Почему я могу только один раз провести свое пользовательское изображение?
Как делишки? У меня есть IBOutlet UIImageView с функцией жеста смахивания IBAction, но я могу провести объект только один раз. По сути, есть игровая доска 5х5 вместе с 2 каменными предметами, которые я могу непрерывно проводить по доске. Проведите пальцем один раз, каменьоподобный объект перемещается, пока не достигнет границы доски.
Вот часть кода (для того, чтобы смахнуть на камень _one)
- (IBAction)swipeDown:(UISwipeGestureRecognizer *)recognizer {
NSLog(@"Swipe Right");
// Get the view I'm interacting with, in this case, _one
UIView *view = recognizer.view;
if (view == _one) {
NSLog(@"Got it 2");
[self moveOne:CGPointMake(-1, 0) withView:view];
} else if (view == _two) {
NSLog(@"Got it 2.5");
[self moveTwo:CGPointMake(-1, 0) withView:view];
}
}
- (void)moveOne:(CGPoint)direction withView:(UIView*)stoneView {
NSLog(@"Got it 5");
// Bunch of code for getting new position
// .
// .
// .
[UIView animateWithDuration:0.35f
delay:0.0f
options:UIViewAnimationOptionCurveLinear
animations:^{
CGRect rect = stoneView.frame;
rect.origin.x = _currentCol*61.5;
rect.origin.y = _currentRow*61.5;
stoneView.frame = rect;
}
completion:^(BOOL finished) {
NSLog(@"Done finally");
}];
}
Итак, когда я запускаю это и проверяю вывод, моя программа делает в журнале "Готово наконец". Но я могу нанести камни только один раз. Представьте себе 2048, за исключением того, что вы только один раз можете провести плитку с цифрой "2", а затем никогда больше не взаимодействовать с игрой.
Экземпляры распознавателя жестов для каждого камня создаются в viewDidLoad{} в ViewController.m, так же, как методы смахивания и перемещения. Почему я не могу провести несколько раз? Должно ли быть какое-то обновление в блоке "завершение:" метода animate?
-Спасибо дайте мне знать, если вам нужно больше информации