2011-09-23 1 views
2

Добрый день,Закрыть popover - Objective-c

У меня возникли проблемы с закрытием popover после выбора строки (UITableView). Я пробовал следующие методы, но не увенчался успехом.

[self dismissModalViewControllerAnimated:YES]; 

iMAPClientesPesquisar *a = [[iMAPClientesPesquisar alloc] init]; 
    [a.popover dismissPopoverAnimated:YES]; 

Я звоню поповер следующим образом:

- (IBAction)Filtro:(id)sender { 

    iMAPClientesFiltro *ClientesFiltro = [[iMAPClientesFiltro alloc] init]; 
    popover = [[UIPopoverController alloc] initWithContentViewController:ClientesFiltro]; 
    [ClientesFiltro release]; 
    [popover setPopoverContentSize:CGSizeMake(132, 132)]; 
    [popover presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 
} 

Любое предложение будет весьма признателен.

+0

Позвольте мне объяснить: У меня есть два класса, один из которых содержит кнопку, которая будет запускать popover, и тот, который правильно является popover (что на самом деле является UIView). Когда я выбираю строку UITableView в этом UIView, эта визуализация будет завершена. Поэтому я попытался использовать первый метод, описанный выше. – user941059

+0

Вы все поняли? – Sam

+0

Да, мне удалось решить мою проблему на следующем форуме: http://bit.ly/vi0Uvt. Я благодарю вас за ваш ответ. – user941059

ответ

3

Если вы пытаетесь закрыть popover с одного и того же контроллера представлений, в котором находится метод Filtro (или, другими словами, popover будет переменной, видимой из этого класса), вы должны убрать «a «. от вашей вышеприведенной линии и просто выполните:

[popover dismissPopoverAnimated:YES]; 
1

Единственный способ отклонить popover - это ссылка на открывшийся popover. Я немного смущен, почему вы звоните [self dismissModalViewControllerAnimated:YES];, поскольку это не имеет никакого отношения к UIPopoverController.

Вам необходимо использовать оригинальную ссылку для всплытия, чтобы отклонить popover. Что-то вроде [popover dimissPopoverAnimated:YES]; с popover представляется переменной-членом объекта, у которого была функция, которая первоначально открывала popover.