我在我的iPhone应用程序中显示了WEPPopoverController。在该WEPPopoverController中,我添加了一个UITableViewController。我正在使用此弹出窗口进行搜索。

现在,当我打开此Popover时,屏幕如下所示:

现在,我想从UITableViewController's didSelectRowAtIndexPath中关闭此Popover,

这该怎么做?

码:

self.searchTableViewController = [[SearchTableViewController alloc] initWithStyle:UITableViewStylePlain];    // UITableViewController
self.seachPopoverController = [[[WEPPopoverClass alloc] initWithContentViewController:self.searchTableViewController] autorelease];   // WepPopoverController

self.seachPopoverController.delegate = self;
[self.seachPopoverController presentPopoverFromRect:[searchB frame] inView:topPanelV permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];

提前致谢!!!

最佳答案

在SearchTableViewController中添加1个变量作为父对象,例如

id parent;

为此创建属性
@property (nonatomic,assign)id parent;

合成它
@synthesize parent;

现在

当您创建self.searchTableViewController

将其父代指定为
self.searchTableViewController.parent = self;

现在在didSelectRowAtIndex中
[parent dismisMyPopoverMethod];


-(void)dismisMyPopoverMethod
{
[self.seachPopoverController dismissPopoverAnimated:YES];
self.seachPopoverController = nil;
}

就是这样。大功告成

10-08 06:26