Я хочу сделать выдвижное меню в моем iPhone приложении, похожее на THIS изображениеКаков наилучший способ анимировать кнопки?
Для кнопки меню, я хотел бы добавить анимацию в меню кнопки при нажатии почти идентичен THIS
Моих вопрос: Каков наилучший способ выполнения анимации?
- ли я создать GIF-изображение, а затем разбить GIF до его отдельных изображений, а затем просто играть массив изображений один за другим, когда кнопка нажата, чтобы повторить GIF?
- Я рисую 3 строки кнопки меню, как в примере кода 1. ниже, и когда нажата кнопка, я анимация строк, как в примере кода 2. Я могу нарисовать 3 строки, представляющие значок меню на экране а затем, когда нажата кнопка меню, переместите верхнюю и нижнюю линии к средней линии. Когда они достигают средней линии, удалите одну из линий, а затем закрутить 2 оставшиеся линии до +45 и -45 градусов, чтобы дать рент- внешний вид
* Примеры кода показаны только в качестве примеров, а не фактический реализован код
Пример кода 1.
UIView *lineView = [[UIView alloc] initWithFrame:CGRectMake(0, 200, self.view.bounds.size.width, 1)];
lineView.backgroundColor = [UIColor blackColor];
[self.view addSubview:lineView];
[lineView release];
Пример кода 2.
+(void)rotateViewLikeCircle:(UIView*)view rotation:(int)numberOfRotation
{
CABasicAnimation *rotationAnimation;
rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
rotationAnimation.toValue = [NSNumber numberWithFloat:DEGREES_TO_RADIANS(180)];
rotationAnimation.duration = 0.75;
rotationAnimation.repeatCount = numberOfRotation;
rotationAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn];
[view.layer addAnimation:rotationAnimation forKey:@"rotationAnimation"];
}
WOW пользователь1190882! Спасибо за это целую кучу. Я попробую это как можно скорее и дам вам знать, как я нахожусь. Действительно ценю это. Я также вижу, что вы пошли с создаваемыми прямоугольниками в виде строк, а затем оживили их против воспроизведения изображений GIF. С нетерпением ждем, как эта работа. – heyred
Нет проблем. :) Примите мой ответ, если он поможет вам после того, как вы попробуете его. :) – user1190882
Удалось обойти свой код сегодня вечером, и это работает как шарм. Как вы говорите, в конце есть очень маленький рывок, но ничего серьезного. Я увижу, могу ли я улучшить этот и отправку кода здесь, но на данный момент я принимаю это как ответ. Спасибо за большую помощь. – heyred