Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
 
Alex2301
-21 / 0 / 0
Регистрация: 14.06.2013
Сообщений: 33
#1

Анимация UIView - Программирование iOS

19.03.2014, 19:54. Просмотров 912. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2014, 19:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Анимация UIView (Программирование iOS):

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

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

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

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

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

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

4
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
19.03.2014, 22:12 #2
Alex2301, используйте UISwipeGestureRecognizer.
Когда он отработает, запустите анимацию вращения для той UIView, для который был свайп.
Дополнительно, можете запустить другую анимацию для subviews той UIView, для которой был свайп.
1
Alex2301
-21 / 0 / 0
Регистрация: 14.06.2013
Сообщений: 33
21.03.2014, 14:32  [ТС] #3
Цитата Сообщение от 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
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
21.03.2014, 15:59 #4
Используйте
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
Alex2301
-21 / 0 / 0
Регистрация: 14.06.2013
Сообщений: 33
21.03.2014, 18:56  [ТС] #5
Цитата Сообщение от 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
21.03.2014, 18:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.03.2014, 18:56
Привет! Вот еще темы с ответами:

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

Как добавить собственный UIView в нужное место? - Программирование iOS
Есть myView.xib, в котором один View с кнопочками. Есть класс MyUIView от IUView. В IB класс myUIView не выходит для привязки к View...

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

Свой UIView - в каком методе добавить KVO ? - Программирование iOS
Есть CustomView,наследник UIView, с кнопкой и индикатором. В коде другого класса использую этот вью и меняю видимость кнопки. При этом...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru