调用UIPopover的委托方法
问题描述:
我有一个弹出窗口,它载入一个导航控制器,它显示了ItemsView xib,并且我有一个委托方法,所以这个弹出窗口可以从主视图控制器中消除。这工作得很好,直到我钻入UITableView(加载详细视图)的下一级。一旦细节视图被加载,我不能在主视图控制器上调用dismiss方法。我对代表们很新颖,希望得到任何指导。谢谢!调用UIPopover的委托方法
的MainView ---> ItemsView ----->的DetailView
如何调用位于距离的MainView代表的DetailView方法?
//Load the popover with first view:
ItemsView *popoverView = [[ItemsView alloc] init];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:popoverView];
self.popOverController = [[[UIPopoverController alloc] initWithContentViewController:navController] autorelease];
popoverView.delegate = self;
[navController release];
[popOverController setPopoverContentSize:CGSizeMake(450.0, 300.0)];
[popOverController presentPopoverFromRect:addButton.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];
[popoverView release];
现在我推细节视图:
//Push DetailView
if(self.secondView == nil) {
NSLog(@"Called");
AddDetail *viewController = [[AddDetail alloc] initWithNibName:@"AddDetail" bundle:nil];
self.secondView = viewController;
[viewController release];
}
// Setup the animation
secondView.contentSizeForViewInPopover = self.view.bounds.size;
self.contentSizeForViewInPopover = self.view.bounds.size;
[self.navigationController pushViewController:self.secondView animated:YES];
}
答
写在详细视图中的属性和方法等如下。
- 属性为ID myParent
- 方法(无效)的setParent:父{myParent =母体;}
同时推detailviewcontroller调用此方法如。
- [detailViewcontroller setParent:self];
现在你可以调用父声明的方法
- [myParent yourMethodName]
希望这有助于
工作就像一个魅力。谢谢你为我解决这个谜团! – 2011-04-12 10:41:01
我很高兴它为你工作。 – 2011-04-12 12:08:19