UIPopOverController выдает во время автоповорота - PullRequest
0 голосов
/ 22 сентября 2011

Я представляю контроллер UIPopover с использованием метода PresentPopOverFromRect:.в портретной ориентации.Когда я автоматически поворачиваюсь в альбомной ориентации, UIPopoverController не отображается в правильном положении.Как установить UIPopoverController во время автоматической настройки устройства.

Ответы [ 2 ]

0 голосов
/ 22 ноября 2012

Да, как говорит tiguero , в вашем пользовательском UIViewController вы можете переопределить метод:

-(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration{
    [self.popOverViewController dismissPopoverAnimated:NO];
    CGRect yourNewRect = CGRectMake(0.0, 0.0, 20, 20);
    [self.popOverViewController presentPopoverFromRect:yourNewRect inView:yourView permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}

Вы можете попробовать!

0 голосов
/ 24 ноября 2011

Вам необходимо переопределить эту функцию:

- (void)willAnimateRotationToInterfaceOrientation:
(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration

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

Вам следует проверить это руководство , чтобы понять, как вам следует обращатьсямакет для разных ориентаций iPad.

...