Я рекомендую обрабатывать вращение методом willRotateToInterfaceOrientation:duration:
или didRotateFromInterfaceOrientation:method
. Вы сможете определить, какова ваша новая ориентация, новый размер вашего вида, а затем изменить рамку вашего вида AdWhirl на новое местоположение.
Однако, посмотрев немного ближе, похоже, вам может понадобиться сделать *adView
переменной, объявленной в вашем файле .h
, чтобы вы могли получить к ней доступ из методов ротации.
Как только вы это сделаете, вы можете установить новый кадр, как вы сделали в viewDidLoad: method:
CGSize adSize = [adView actualAdSize];
CGRect newFrame = adView.frame;
newFrame.size = adSize;
newFrame.origin.x = (self.view.bounds.size.width - adSize.width)/ 2;
newFrame.origin.y = (self.view.bounds.size.height - adSize.height);
adView.frame = newFrame;
[UIView commitAnimations];
В идеале вы должны переместить этот код в его собственный метод, чтобы вы могли просто вызывать его из любого места в коде контроллера представления (например, viewDidLoad
и функции (ах) поворота).