Трансформация, блокирующая следующую трансформацию в очереди

Итак, я создаю игру, в которой пользователь нажимает на квадрат, который

  • масштабируется до 1,2 (CGAffineTransformScale)

Затем квадрат автоматически:

  • поворачивается на 90 градусов (CGAffineTransformMakeRotation)
  • масштабируется обратно до масштаба 1,0 (CGAffineTransformScale)

Это работает для первого квадрата, но когда пользователь пытается щелкнуть другой квадрат, он не увеличивается. Пользователь должен выполнить следующие действия, чтобы щелкнуть следующий квадрат:

  • click on the previous square (from the paragraph above)
    • square then rotates back to its original transformation (even though it is supposed to be scaling up)

Затем пользователь может перейти к выбору следующего квадрата, при этом преобразования работают правильно.

ПРИМЕЧАНИЕ. Квадраты — это UIView(s), а преобразования — CGAffineTransformation(s).

Есть ли способ «зафиксировать» преобразования, чтобы пользователь мог щелкнуть следующий квадрат, не отменяя преобразования предыдущего квадрата?


person tokan_one    schedule 04.06.2013    source источник
comment
В преобразовании, вызывающем это, нет ничего фундаментального. Не могли бы вы опубликовать свой код?   -  person RegularExpression    schedule 04.06.2013


Ответы (1)


Чтобы перевести представление из его текущей позиции, вы должны передать свойство преобразования представления в качестве первого параметра.

Этот блог дает отличное объяснение того, как работает tranform: http://iphonedevelopment.blogspot.com/2008/10/demystifying-cgaffinetransform.html

person JVC    schedule 24.06.2013