Почему я могу только один раз провести свое пользовательское изображение?

Как делишки? У меня есть 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?

-Спасибо дайте мне знать, если вам нужно больше информации

0 ответов

Другие вопросы по тегам