UIPopoverController перемещается с помощью UINavigationController - PullRequest
1 голос
/ 18 января 2012

Я использую UINavigationController в UIPopoverController и перемещаюсь между тремя видами в этом навигационном контроллере.Первые два вида имеют одинаковую ширину (320.0f), но третий вид - максимум 600.0f.Я сталкиваюсь с очень специфической проблемой с размерами вещей, возвращающимися из самого широкого представления.Если я нажму кнопку «Назад», анимация обратно на меньшую ширину заставит контроллер всплывающего окна анимировать влево, смещая выравнивание в сторону от элемента barbuttonitem, с которого первоначально был представлен поповер.Как я могу держать этот контроллер поповера приклеенным вправо, вместо того, чтобы всегда изменять размеры самого левого края?Может ли быть флаг выравнивания типа на контроллере навигации?Может ли это быть что-то на ViewWillDisappear в самом широком представлении?

Вот ViewWillAppear для двух меньших контроллеров представления:

public override void ViewWillAppear (bool animated)
{
    base.ViewWillAppear (animated);
    SizeF vcSize = new SizeF(320.0f, 365.0f);
    ContentSizeForViewInPopover = vcSize;
    NavigationController.ContentSizeForViewInPopover = vcSize;
}

А вот ViewWillAppear дляконтроллер большего размера:

public override void ViewWillAppear (bool animated)
{
    base.ViewWillAppear (animated);
    SizeF vcSize = new SizeF(600.0f, 700.0f);
    ContentSizeForViewInPopover = vcSize;        
    NavigationController.ContentSizeForViewInPopover = vcSize;
}

Любая помощь ... как всегда, очень ценится.

...