анимация подпредставления в iPhone - PullRequest
1 голос
/ 15 января 2012

Я использую код ниже, чтобы скрыть свое подпредставление:

    [self.view addSubview:selectorView];
[selectorView setFrame:CGRectOffset([selectorView frame], 0, -selectorView.frame.size.height)];
viewVisible = NO;

- (IBAction)onButtonClick:(id)sender {
[self showHideView]; // Show and hide our imageView in an animated fashion}

- (void)showHideView {  
if (viewVisible) { // If our imageView is on screen hide the view
    [UIView beginAnimations:@"animateImageOff" context:NULL]; // Begin animation
    [selectorView setFrame:CGRectOffset([selectorView frame], 0, -selectorView.frame.size.height)]; // Move imageView off screen
    [UIView commitAnimations]; // End animations
    viewVisible = NO;
    [showHideButton setTitle:@"Show" forState:UIControlStateNormal]; // Change button title to "Show"
} else { // if our imageView is off screen show the view
    [UIView beginAnimations:@"animateImageOn" context:NULL]; // Begin animation
    [selectorView setFrame:CGRectOffset([selectorView frame], 0, selectorView.frame.size.height)]; // Move imageView on screen
    [UIView commitAnimations]; // End animations
    viewVisible = YES;
    [showHideButton setTitle:@"Hide" forState:UIControlStateNormal]; // Change button title to "Hide"

}}

Как в этом коде установить значение оси Y подпредставления, потому что, когда подпредставление попадает на экран, оно скрывает панель заголовка экрана. И я использую кнопку, чтобы показать / скрыть подпредставление, я также хочу анимировать эту кнопку чтобы при нажатии кнопки положение кнопки также изменялось вдоль оси Y.

Вот скриншоты для чего я хочу

enter image description here

enter image description here

1 Ответ

3 голосов
/ 16 января 2012

Попробуйте вывести ваш заголовок на передний план в MainView:

     [self.view bringSubviewToFront:headerView];

А анимация кнопки изображения вы можете сделать это:

[UIView animateWithDuration:1.0 animations:^{
    CGFloat degrees = 180;
    CGAffineTransform transform = 
    CGAffineTransformMakeRotation(degrees/180 * 3.14);
    imageButton.transform = transform;

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