UISplitView новый слайд-всплывающее окно становится полноэкранным после предупреждения памяти в iOS 5.1 - PullRequest
5 голосов
/ 10 марта 2012

Я совсем новичок здесь.У меня проблема с новым вставным слайдером iOS 5.1 в UISplitView.(До 5.1 главный контроллер вида был представлен в виде поповера, но теперь он просто скользит в форме слева.) Когда мое устройство находится в портретном режиме и получает предупреждение о памяти, главный контроллер вида выгружается;и когда я нажимаю кнопку панели инструментов, чтобы скользить в главном представлении, он загружается снова.Однако после предупреждения о памяти оно отображается в полноэкранном режиме, а не только в размере исходного основного вида.(Когда я поворачиваю устройство в альбомную ориентацию и обратно в портретную ориентацию, оно получает правильный размер.)

До iOS 5.1 оно всегда отображалось в поповере с правильным размером.

У всех естьидея, как это исправить?

Я пытался установить размер кадра основного вида, но это не решает проблему.

Любая помощь очень ценится!

Ответы [ 2 ]

5 голосов
/ 05 апреля 2012

У меня была такая же проблема, но я использовал этот код для решения проблемы:

-(void)splitViewController:(UISplitViewController *)svc popoverController:(UIPopoverController *)pc willPresentViewController:(UIViewController *)aViewController
{
    aViewController.view.frame = CGRectMake(0, 0, 320, self.view.frame.size.height);
}

Очевидно, что при получении предупреждения о памяти контроллер представления освобождается, поэтому, когда он снова представляет себя,получает его размер из родительского представления, которое является полноэкранным.Так что вам просто нужно сбрасывать кадр каждый раз, когда он загружается.

0 голосов
/ 02 апреля 2012

У меня была такая же проблема.

Вы должны добавить приведенный ниже код в AppDelegate.

splitViewController.presentsWithGesture = NO;

...