Выпадающий UIView с кнопками - PullRequest
0 голосов
/ 15 августа 2011

Хорошо, я хочу создать меню, которое раскрывается вниз в текущем месте касания.Я достигаю этого, добавляя свой menuView с высотой 1, а затем изменяя высоту на желаемую, например:

[UIView beginAnimations:NULL context:nil];          
CGRect fullRect;
fullRect = CGRectMake(menuView.frame.origin.x, menuView.frame.origin.y, 290, 180);
menuView.frame = fullRect;
[UIView commitAnimations];

Теперь проблема в том, что в этом меню 4 кнопки, и эти кнопки появляются первымии затем menuView расширяется вниз под ними.Любые идеи, как заставить кнопки появляться с меню, а не перед ним?

Ответы [ 2 ]

0 голосов
/ 16 августа 2011

Вы должны установить menuView.clipsToBounds = YES, чтобы кнопки не отображались за пределами вашего menuView во время его расширения.

Я также добавил бы следующее, чтобы иметь эффект постепенного увеличения для вашегокнопки.

button1.alpha = 0.0; // Do this for each button before the [UIView beginAnimations];

button1.alpha = 1.0; // Do this during the animation block. 
0 голосов
/ 15 августа 2011

Вместо этого я бы использовал блочную анимацию.Таким образом, вы можете легко отображать кнопки во время или после анимации.Попробуйте что-то вроде:

[UIView animateWithDuration:1.0
                       animations:^{ 
                         CGRect newRect = menuView.frame;
                         menuView.size.height += 289;
                         menuView.frame = newRect;
                       }
                       completion:^(BOOL finished){

                         [UIView animateWithDuration:0.1
                                          animations:^{ 
                                            button.hidden = NO;
                                          } 
                                          completion:^(BOOL finished){
                                            ;
                                          }];
                       }];

Это заставит кнопку перестать скрываться в конце анимации.Конечно, вы можете добавить больше блоков в блок завершения для обработки большего количества анимаций, и это легко настроить.Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...