Как создать кнопку, которая порождает подвижное изображение?iOS 5 - PullRequest
0 голосов
/ 22 марта 2012

Я хотел бы создать кнопку в моем UIView, которая при прикосновении порождает другую кнопку под пальцем, которая немедленно начинает следовать за пальцем.

Я видел здесь учебник, в котором рассматриваются кнопки, следующие за пальцем, но я не могу понять, как заставить эту кнопку следовать за пальцем, БЕЗ пользователя, касающегося ее после создания.

Использование iOS 5.1 SDK с XCode 4.3.2

Любая помощь?

1 Ответ

1 голос
/ 22 марта 2012

Вы можете добавить пары «цель / действие» к кнопке для различных управляющих событий: чтобы что-то сразу началось после вашего пальца, вам, вероятно, понадобится UIControlEventTouchDown.

Подключите вашу первую кнопку, чтобы вызвать метод на вашем контроллере представления для этого состояния управления. В этом методе действия создайте свою новую кнопку и поместите ее в свойство на вашем контроллере представления, чтобы вы могли обратиться к ней позже. Также установите свойство BOOL на вашем контроллере представления, которое называется что-то вроде shouldTrackButton.

Чтобы заставить новую кнопку следовать за вашим пальцем, я думаю, что самый простой способ - это распознавание панорамирования в суперпредставлении. Установите это, чтобы вызвать метод на вашем контроллере представления. В этом методе, если состояние распознавателя жестов равно UIGestureRecognizerStateChanged, вызовите translationInView: в распознавателе жестов, передавая представление контроллера представления (то есть суперпредставление кнопок). Теперь, если и только если shouldTrackButton равно YES, возьмите кадр исходной кнопки, переведите ее на эту величину (используя CGRectApplyAffineTransform и CGAffineTransformMakeTranslation) и установите для кадра новой кнопки результат.

Наконец, в том же методе, если состояние распознавателя жестов равно UIGestureRecognizerStateEnded, установите shouldTrackButton в NO.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...