Форум программистов, компьютерный форум, киберфорум
Программирование iOS/iPhone
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
-21 / 0 / 0
Регистрация: 14.06.2013
Сообщений: 33

Анимация UIView

19.03.2014, 19:54. Показов 1695. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть 3 view, которые лежат друг на друге вот так:

Objective-C
1
2
3
4
5
6
7
8
9
10
11
|------------------|
| 1                |
|  |-------------| |
|  | 2           | |
|  |  |--------| | |
|  |  | 3      | | |
|  |  |        | | |
|  |  |        | | |
|  |  |________| | |
|  |_____________| |
|__________________|
И нужно сделать свайп в верх по первой view, и тогда она и лежащие на ней 2 другие view начнут бесконечно крутиться против часовой стрелки, если сделать свайп по второй то начнет крутиться 2-я и 3-я, а первая будет на месте, и т.д. Подскажите как это сделать. Спасибо
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.03.2014, 19:54
Ответы с готовыми решениями:

UIBezierPath vs UIView
Всем доброго времени суток! Мне нужен ваш совет по поводу отрисовки в UIVIew. У меня следующая ситуация: Есть мой кастомный класс...

UIView с PageController
Здравствуйте! Может кто подсказать в чем проблема, хочу сделать UIView с PageController(чтобы на одной вьюшке было 7 экранов) Делаю по...

Рекурсивное создание UIView
Здравствуйте! Подскажите как сделать рекурсивное создание 15 UIView, каждая новая view должна располагаться поверх предыдущей. Спасибо!

4
 Аватар для zulkis
686 / 613 / 43
Регистрация: 13.01.2011
Сообщений: 1,722
19.03.2014, 22:12
Alex2301, используйте UISwipeGestureRecognizer.
Когда он отработает, запустите анимацию вращения для той UIView, для который был свайп.
Дополнительно, можете запустить другую анимацию для subviews той UIView, для которой был свайп.
1
-21 / 0 / 0
Регистрация: 14.06.2013
Сообщений: 33
21.03.2014, 14:32  [ТС]
Цитата Сообщение от zulkis Посмотреть сообщение
Alex2301, используйте UISwipeGestureRecognizer.
Когда он отработает, запустите анимацию вращения для той UIView, для который был свайп.
Дополнительно, можете запустить другую анимацию для subviews той UIView, для которой был свайп.
А есть какой-то стандартный метод для такой анимации, или надо писать свой?

Добавлено через 1 час 41 минуту
Сделал так: по свайпу вызываю этот метод

Objective-C
1
2
3
4
5
6
7
8
9
- (void) startAnimation:(id)sender
{
[NSTimer scheduledTimerWithTimeInterval:0.05 target:self selector:@selector(rotationAnimation) userInfo:nil repeats:YES];
}
 
- (void) rotationAnimation
{
 randView.transform = CGAffineTransformRotate(randView.transform,0.1);
}
Но он крутит все вьюхи, а как сделать что бы если свайпнул по второй то крутились 2 и 3, а не все 3 независимо от того по какой сделал свайп?
0
 Аватар для zulkis
686 / 613 / 43
Регистрация: 13.01.2011
Сообщений: 1,722
21.03.2014, 15:59
Используйте
Objective-C
1
2
3
4
5
6
7
8
9
[UIView animateWithDuration:0.5
                          delay:1.0
                        options: UIViewAnimationCurveEaseOut
                     animations:^{
                         someView.frame = CGRectMake(0,0,0,0)
                     } 
                     completion:^(BOOL finished){
                         NSLog(@"Done!");
                     }];
Добавлено через 1 минуту
Цитата Сообщение от Alex2301 Посмотреть сообщение
Но он крутит все вьюхи, а как сделать что бы если свайпнул по второй то крутились 2 и 3, а не все 3 независимо от того по какой сделал свайп?
Ну используйте указатели на 2ю и 3ю UIView, соответственно.
0
-21 / 0 / 0
Регистрация: 14.06.2013
Сообщений: 33
21.03.2014, 18:56  [ТС]
Цитата Сообщение от zulkis Посмотреть сообщение
Код Objective-C
[UIView animateWithDuration:0.5
* * * * * * * * * * * * * delay:1.0
* * * * * * * * * * * * options: UIViewAnimationCurveEaseOut
* * * * * * * * * * *animations:^{
* * * * * * * * * * * * *someView.frame = CGRectMake(0,0,0,0)
* * * * * * * * * * *}
* * * * * * * * * * *completion:^(BOOL finished){
* * * * * * * * * * * * *NSLog(@"Done!");
* * * * * * * * * * *}];
Это не та анимация котороя мне нужна, но я уже разобрался с анимацией


Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
- (void)rotateView
{
    
        [UIView animateWithDuration:1 delay:0 options:UIViewAnimationOptionCurveLinear animations:^{
  
            [randView setTransform:CGAffineTransformRotate(randView.transform, 0.1)];
        }completion:^(BOOL finished){
            if (finished) {
                [self rotateView];
            }
        }];
   
}
А насчет указателей, как их получить? таким образом что бы по какой свайп сделал та и закрутилась.

Там как я понял нужно использовать objectAtIndex, но не понял как правильно это описать.

Добавлено через 2 часа 52 минуты
Objective-C
1
[(UIView*)viewArray[1] setTransform:CGAffineTransformRotate(randView.transform, 0.7)];

Вот пример анимации для 2-й.

Вопрос как получить индекс вьюхи по которой прошел свайп, чтобы вставить его сюда

Objective-C
1
[(UIView*)viewArray[??????] se.....
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.03.2014, 18:56
Помогаю со студенческими работами здесь

Прижать UIView к низу
Подскажите как в коде прижать UIView к низу родительской вьюшки?

Constraints и размер UIView
У меня, допустим, есть UIView добавленная на родительскую View и к ней применены space constraints со всех четырех сторон, то есть она...

Изменить содержимое UIView сдвигом
Добрый день. Проблема в следующем: в методе viewDidLoad основного ViewController-а создаётся объект типа myView:UIView //...

Вращение UIView по типу часовой стрелки
Всем доброго времени суток, собственно есть задача иммитировать часы, избараздив просторы интернета и IOS Documentation, у меня получилось...

Size Classes и свойства frame/bounds у UIView
Всем привет! Решил в своем pet-проекте заюзать по-полной size classes, и столкнулся со следующей странностью: Для anyW & anyH...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru