эмулировать эффект отказов в приложении iphone без UIScrollView - PullRequest
1 голос
/ 14 февраля 2011

Я использую жест панорамирования, чтобы перетащить элемент в мое приложение. Я знаю, что мог бы использовать UIScrollView, чтобы получить эффект "отскока" при перетаскивании на край. Тем не менее, это похоже на хак, поэтому я хотел бы найти способ получить этот эффект при ручном перетаскивании элемента (установка его рамки или центральной точки). Мне любопытно, есть ли стандартный способ или физическая библиотека в платформе Accelerate, что-то подобное, что не потребовало бы от меня реализации моего собственного физического движка.

1 Ответ

0 голосов
/ 14 февраля 2011

Стандартная кривая анимации UIView - это кривая ускорения / замедления, которая должна дать хорошее действие "отскок назад".

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

[UIView beginAnimations:nil context:nil];
CGRect newFrame = viewToAnimate.frame;
newFrame.origin.x = snapBackXcoordinate;
viewToAnimate.frame = newFrame;
[UIView commitAnimations];

, чтобы полностью эмулировать UIScrollView, вам также нужно будет установить расстояние «максимального растяжения», прежде чем вы прекратите растягивать больше.

Но зачем изобретать велосипед?Компоненты UIKit, которые вы дали, предназначены для использования.Если ваш взгляд в UIScrollView делает свое дело, продолжайте и используйте его.Экономит ваше время разработки и отладки.

...