2010-10-30 2 views
1

У меня есть UIImage внутри UIImageView в моем приложении.Автоматически центрируйте UIImageView после вращения

В портретном режиме изображение центрировано, но когда я переключаюсь в ландшафтный режим, он остается слева.

Поэтому я добавил следующий метод в свой .m-файл, но проблема в том, что у меня есть приложение TabBar, поэтому, когда я поворачиваю устройство на другой вкладке, и я возвращаюсь к вкладке, содержащей изображение, вращаться автоматически.

Существует способ автоматического поворота всех элементов приложения при вращении устройства на любой вкладке?


-(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation { 
    if((self.interfaceOrientation == UIDeviceOrientationLandscapeLeft) || (self.interfaceOrientation == UIDeviceOrientationLandscapeRight)){ 
     background.image = [UIImage imageNamed:@"back2-landscape.png"]; 
    } else if((self.interfaceOrientation == UIDeviceOrientationPortrait) || (self.interfaceOrientation == UIDeviceOrientationPortraitUpsideDown)){ 
     background.image = [UIImage imageNamed:@"back2-portrait.png"]; 
    } 
} 

Спасибо :-)

ответ

7

Есть два варианта:

* 1. Входите в IB - поверните все эти маленькие пробелы и стрелки в области «Автосизация» под «Инспектором размеров». Вы должны иметь возможность затем «Имитировать интерфейс» и вращать устройство [имитированное], при этом объект остается центрированным.

alt text

* 2. Сделайте это программно, в didRotateFromInterfaceOrientation, сделав что-то вроде:

[theObject setCenter:self.center]; 
+0

Я сделал это с использованием первого метода, и он отлично работал. Большое спасибо :-) – bnabilos

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