как оживить uitoolbar - PullRequest
       18

как оживить uitoolbar

1 голос
/ 29 ноября 2011

Я пытаюсь оживить мой uitoolbar.Я пытаюсь расширить и свернуть мой взгляд.я хочу, чтобы панель инструментов анимировалась вместе с представлением.Но здесь uitoolbar сначала расширяется и сжимается, а затем анимация uiview.Таким образом, рамка uitoolbar изменяется в соответствии с прямоугольником, но не анимируется.Может кто-нибудь, пожалуйста, скажите мне, если, как оживить uitoolbar.Наряду с панелью инструментов я также хочу анимировать панель вкладок.как мне поступить так.

На мой взгляд, я написал следующий код:

 [UIView animateWithDuration:1.0 animations:^(void){

        [recordDetailView setFrame:CGRectMake(0.0, 0.0, self.view.frame.size.width, recordDetailView.frame.size.height)];
        [normalModeToolbar setFrame:CGRectMake(0.0, 0.0,self.view.frame.size.width, 49)];
        [self.view bringSubviewToFront:recordDetailView];
    } completion:^(BOOL finished){
    }
     ];

Ответы [ 2 ]

1 голос
/ 25 мая 2012

UIViewAnimationOptionLayoutSubviews (iOS> 4.0) должно решить проблему, когда изменение размера не анимируется.

[UIView animateWithDuration:1.0 
        delay:0 
        options:UIViewAnimationOptionLayoutSubviews 
        animations:^{
           [recordDetailView setFrame:CGRectMake(0.0, 0.0, self.view.frame.size.width,                 recordDetailView.frame.size.height)];
           [normalModeToolbar setFrame:CGRectMake(0.0, 0.0,self.view.frame.size.width, 49)];
       }
        completion:nil
];
0 голосов
/ 29 ноября 2011

Вы пытались вместо этого использовать границы?

[UIView animateWithDuration:1.0 animations:^(void){
    yourView.bounds = CGRectMake(yourView.bounds.origin.x, 
                                 yourView.bounds.origin.y, 
                                 yourView.bounds.size.width * 2, // target width 
                                 yourView.bounds.size.height);
}];

Кроме того, я бы также попытался вывести ваш recordDetailView на передний план перед запуском анимации.

...