Показаны сообщения с ярлыком Animation. Показать все сообщения
Показаны сообщения с ярлыком Animation. Показать все сообщения
7 февр. 2016 г.
15 окт. 2015 г.
Raywenderlich iOS Animations by Tutorials Second Edition: iOS 9 & Swift 2 Edition
Автор: Marin Todorov
Жанр: Разработка
Издательство: Raywenderlich
Язык: Английский
Серия: Tutorials
ISBN: 978-1942878094
Формат: PDF
Качество: eBook (изначально компьютерное)
Количество страниц: 370
Описание: Программируйте приложения на Swift под iOS с восхитительной анимацией! Создание анимации является одним из самых приятных направлений развития iOS. Создавать анимацию весело, она вдохнула жизнь в пользовательский интерфейс iOS, также анимация делает ваше приложение красочным и приводит в восторг конечного пользователя. В этой книге, вы узнаете о применении анимации в Swift на iOS, от начального уровня до продвинутого через серию практических уроков.
Обновлено до iOS9, Xcode 7 и Swift 2.
С исходными кодами / With source code
4 авг. 2015 г.
Анимация placeholder`a в Textfield / Textfield placeholder animation (UIFloatLabelTextField)
In 2013, Matt D. Smith unveiled the Float Label user interface design pattern. In short, it retains a text field's placeholder above said text field as a floating label. This label is brightly colored when the field is active, and dimly colored when a user has finished editing that field.
1. - На storyboard добавляем и кастомизируем на свой вкус UITextField
2. - Добавляем в проект класс UIFloatLabelTextField
3. - Помечаем наши UITextField и в Identity Inspector прописываем им использовать кастомный класс вместо стандартного
4. - Делаем связку наших UITextField с кодом, задаем плейсхолдерам цвет и юзаем в удовольствие.
24 мая 2015 г.
UITextField анимация / UITextField animation
Каждому из нас очень часто приходится (например в окне ввода логина / пароля) сдвигать поля ввода чтобы клавиатура не перекрывала их и пользователь видел то что он вводит. Для сдвига с места обычно достаточно простой анимации, но мы как всегда - сделаем это красиво ;)
Представим что у нас на вьюхе есть три UITextField. Создадим массив и добавим эти UITextField в него. UITextField уже размещены в нужных нам местах. Теперь при тапе на один из них (любой) появится клавиатура которая естественно перекроет UITextField (во многих ситуациях именно так и есть, особенно на iPad при Landscape ориентации устройства. Сдвигаем:
CGAffineTransform textFieldTranslationTransform; textFieldTranslationTransform = CGAffineTransformMakeTranslation(0, -165);
Важно помнить, что место с которого будет передвигаться UITextField - центр равен 0. Когда элементы станут на новое место, центр каждого элемента станет опять 0. Чтобы опять поставить на место, вместо "-165" ставим "165". Т.е. цифры говорят о том, что мы передвинули не В координату, а НА определенное количество пунктов.
[_textFieldsArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { UITextField *tField = (UITextField *)obj; [UIView animateWithDuration:0.9 delay:0.05 * (double)idx usingSpringWithDamping:0.5 initialSpringVelocity:0 options:UIViewAnimationOptionCurveLinear animations:^{ tField.center = CGPointApplyAffineTransform(tField.center, textFieldTranslationTransform); } completion:nil]; }];
5 мая 2015 г.
UINavigationBar анимация сокрытия-показа / UINavigationBar hide-show animation
Иногда необходимо немного больше места на экране для отображения более детального и большего количества информации. Обычно при этом прячут UINavigationBar. Почему бы это не сделать при помощи анимации:
- (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; [self.navigationController.navigationBar lt_reset]; } #pragma mark - UINavigationBar hide/show animation methods - (void)scrollViewDidScroll:(UIScrollView *)scrollView { CGFloat offsetY = scrollView.contentOffset.y; if (offsetY > 0) { if (offsetY >= 44) { [self setNavigationBarTransformProgress:1]; } else { [self setNavigationBarTransformProgress:(offsetY / 44)]; } } else { [self setNavigationBarTransformProgress:0]; self.navigationController.navigationBar.backIndicatorImage = [UIImage new]; } } - (void)setNavigationBarTransformProgress:(CGFloat)progress { [self.navigationController.navigationBar lt_setTranslationY:(-44 * progress)]; [self.navigationController.navigationBar lt_setContentAlpha:(1-progress)]; }
24 мар. 2015 г.
UIButton popup анимация / UIButton popup animation
Анимация кнопки (UIButton) по клику или без. Также можно анимировать любой другой контрол.
} completion:^(BOOL finished) {
}];
}];
}];
button.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.001, 0.001);
[self.view addSubview:button];
[UIView animateWithDuration:0.4/1.5 animations:^{
button.transform = CGAffineTransformScale(CGAffineTransformIdentity, 1.3, 1.3);
} completion:^(BOOL finished) {
[UIView animateWithDuration:0.4/2 animations:^{
button.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.8, 0.8);
} completion:^(BOOL finished) {
[UIView animateWithDuration:0.4/2 animations:^{
button.transform = CGAffineTransformScale(CGAffineTransformIdentity, 1.1, 1.1);
} completion:^(BOOL finished) {
[UIView animateWithDuration:0.4/2 animations:^{
button.transform = CGAffineTransformScale(CGAffineTransformIdentity, 1.0, 1.0);} completion:^(BOOL finished) {
button.transform = CGAffineTransformIdentity;
}];}];
}];
}];