Как отключить UIPopover ТОЛЬКО, если я нажму кнопку?

Теперь мое всплывающее окно закрывается, если я нажимаю в любом месте экрана, но мне нужно показывать и скрывать его, только если я нажимаю кнопку (ту же кнопку), как я могу это сделать? Спасибо.


person Roman Simenok    schedule 09.10.2013    source источник
comment
Что вы сделали до сих пор?   -  person Ashwin Krishnamurthy    schedule 10.10.2013
comment
@Ashwin Ganesh K, я пытаюсь написать в своей кнопке что-то вроде [Popover rejectPopoverAnimated: YES]; но это бесполезно, потому что если я нажимаю кнопку, или лучше сказать пытаюсь нажать, потому что на самом деле я не могу ее нажать, всплывающее окно прячется, и только после того, как я могу нажать свою кнопку. Извините за мой английский)   -  person Roman Simenok    schedule 10.10.2013


Ответы (1)


Просто установите делегата на свой UIPopoverController и реализуйте следующий метод:

- (BOOL)popoverControllerShouldDismissPopover:(UIPopoverController *)popoverController {
     return NO;
}

Из документы:

Этот метод вызывается в ответ на инициированные пользователем попытки закрыть всплывающее окно. Он не вызывается, когда вы закрываете всплывающее окно с помощью метода dismissPopoverAnimated: контроллера всплывающего окна.

Если вы не реализуете этот метод в своем делегате, предполагается, что возвращаемое значение по умолчанию равно YES.

person Marcelo Fabri    schedule 10.10.2013