2013-09-11 3 views
4

Я ищу, чтобы анимировать размер моего контейнера UIView, в то же время мое объявление появляется внизу. Когда это будет готово, у меня появится объявление со снизу экрана. Я хочу, чтобы мой контейнер UIView уменьшал тот же размер, что и объявление.Как я могу анимировать контейнер UIView, чтобы уменьшить его высоту?

Я создал свойство выпускную для моего зрения контейнера в пределах верхнего UIViewController уровня, что он встроен в

Мой рекламный код анимации:.

- (void)adViewDidReceiveAd:(GADBannerView *)view 
{ 
    NSLog(@"Received Ad"); 

    [UIView animateWithDuration:1.0 animations:^ { 
     view.frame = CGRectMake(0.0, 
           self.view.frame.size.height - view.frame.size.height, 
           view.frame.size.width, 
           view.frame.size.height); 



     // This is where I think I would need to animate the container view. 

    }]; 
} 

Как я могу уменьшить размер моей точки зрения контейнера в соответствии с объявлением? Мне нужен контейнер, чтобы он оставался в одном и том же месте и все, но некоторую высоту нужно снимать со дна.

ответ

2

Это просто: просто анимируйте рамку вашего контейнера в том же блоке, что и анимация вашего баннера. Это будет что-то вроде этого:

[UIView animateWithDuration:1.0 animations:^ { 

    view.frame = CGRectMake(0.0, 
          self.view.frame.size.height - view.frame.size.height, 
          view.frame.size.width, 
          view.frame.size.height); 



    self.containerView.frame = CGRectMake(self.containerView.frame.origin.x, 
          self.containerView.frame.origin.y, 
          self.containerView.frame.size.width, 
          self.containerView.frame.size.height - view.frame.size.height); 
}]; 

Этот фрагмент кода будет уменьшить containerView ту же высоту вашего баннера и в то же время. Вы можете изменить/адаптироваться по своему усмотрению.

Редактировать: если вы используете автозапуск, вы должны создать IBOutlet для ограничения и анимировать его, а не сам кадр.

+0

Это был буквально точный код, который я там написал, но он ничего не делал. Не было изменений в представлении контейнера. Любые идеи относительно того, почему это может произойти? – Jonathan

+0

Я на самом деле просто сделал еще один тест с ним, и представление «всплывает» до нужного фрейма, который мы указали, но затем он сразу же «возвращается» к тому, как это было. Так что, по сути, он выполняет инструкцию, а затем сразу же возвращается обратно – Jonathan

+0

Этот фрагмент кода наверняка сокращает только рамку cointainerView. Если его изменение обратно, проблема в другом месте. Посмотрите в свой код, где вы можете изменить рамку этого представления или что-то вроде этого –

Смежные вопросы