willAnimateRotationToInterfaceOrientation не вызывается в одном подпредставлении, в то время как другое видно и повернуто - PullRequest
1 голос
/ 24 октября 2010

У меня есть 3 подпредставления в UITabBarController. Представление первой вкладки содержит объекты, которые перемещаются вручную при вызове willAnimateRotationToInterfaceOrientation. Однако если представление другой вкладки отображается при повороте, willAnimateRotationToInterfaceOrientation никогда не вызывается, и элементы в представлении первой вкладки не находятся в нужном месте, если я возвращаюсь к первой вкладке.

Как я могу вручную перемещать объекты в одном виде при повороте, когда виден другой вид?

1 Ответ

4 голосов
/ 24 октября 2010

Я решил это.Я создал метод под названием ViewWillAppear, который получает текущую ориентацию и изменяет положение объектов на экране.

Надеюсь, это кому-нибудь поможет.

- (void)manuallyMoveViewObjects{

UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];

if (orientation == UIInterfaceOrientationPortrait || orientation == UIInterfaceOrientationPortraitUpsideDown) {
    CGRect buttonFrame = CGRectMake(125.0, 223.0, 70.0, 50.0);

    self.button.frame = buttonFrame;
}

else if (orientation == UIInterfaceOrientationLandscapeLeft || orientation == UIInterfaceOrientationLandscapeRight) {
    CGRect gbuttonFrame = CGRectMake(205.0, 131.0, 70.0, 50.0);
    self.button.frame = buttonFrame;

}

}

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