Модальная проблема UIPopoverController

введите здесь описание изображения

У меня есть UIPopoverController

    UINavigationController *navVC = [[[UINavigationController alloc] initWithRootViewController:loginVC] autorelease];

    navVC.modalInPopover = YES;
    navVC.modalPresentationStyle = UIModalPresentationCurrentContext;    


    _popoverLoginVC = [[UIPopoverController alloc] initWithContentViewController:navVC];

И когда я представляю поповер

  [self.popoverLoginVC presentPopoverFromRect:centerFrame
                                     inView:self.splitVC.view
                   permittedArrowDirections:0 
                                   animated:YES];

Похоже, что это модальное окно (я не могу закрыть всплывающее окно, нажав снаружи), но другая область не затемнена. Я играл с modalPresentationStyle безуспешно (

Пожалуйста, порекомендуйте


person Injectios    schedule 18.04.2012    source источник
comment
Поэтому мне нужно получить результат, например скриншот   -  person Injectios    schedule 18.04.2012
comment
Почему вы не включили код для presentPopoverFromRect? Это может стать ключом к решению вашей проблемы.   -  person Stavash    schedule 18.04.2012


Ответы (4)


Удалить строку

navVC.modalInPopover = ДА;

navVC.modalPresentationStyle = UIModalPresentationCurrentContext;

person Hardik Patel    schedule 18.04.2012
comment
Нет, мне нужен модал. Проблема в том, что другая область не затемнена - person Injectios; 18.04.2012
comment
измените альфа основного вида, когда вы добавляете всплывающее окно в представление. - person Hardik Patel; 18.04.2012

Это модально, потому что вы настраиваете его как модальное.

navVC.modalInPopover = YES;

Просто удалите это, и все будет в порядке, если я правильно вас понял.

person Desdenova    schedule 18.04.2012
comment
Нет, мне нужно модальное окно, но другая область должна быть затемнена - person Injectios; 18.04.2012

Всплывающее окно не предназначено (и не может быть указано) для затемнения «фоновых» представлений, даже если оно представлено модально.

person Snips    schedule 02.08.2012
comment
В iOS7 они действительно делают это автоматически: содержимое всплывающего окна накладывается поверх существующего содержимого, а фон затемняется автоматически из справочная страница. - person Clafou; 12.12.2013

permittedArrowDirections:0

Это недопустимое значение для этого параметра и приведет к неопределенному поведению (по крайней мере, в iOS >= 6). Вы должны указать один из:

UIPopoverArrowDirectionUp = 1UL << 0,
UIPopoverArrowDirectionDown = 1UL << 1,
UIPopoverArrowDirectionLeft = 1UL << 2,
UIPopoverArrowDirectionRight = 1UL << 3,
UIPopoverArrowDirectionAny = UIPopoverArrowDirectionUp | UIPopoverArrowDirectionDown | UIPopoverArrowDirectionLeft | UIPopoverArrowDirectionRight,

К сожалению, вариант «без стрелки» не поддерживается. :(

person devios1    schedule 14.08.2013