所以我有一个带有按钮的弹出窗口。当按下该按钮时,我希望弹出窗口消失。这似乎很容易,但我无法弄清楚我的生活。我用来显示popover的代码如下:
AddCategoryViewController* content = [[AddCategoryViewController alloc] init];
UIPopoverController* aPopover = [[UIPopoverController alloc]
initWithContentViewController:content];
aPopover.delegate = self;
[content release];
// Store the popover in a custom property for later use.
self.addCategoryPopover = aPopover;
[aPopover release];
[addCategoryPopover presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
在addcategoryviewcontroller中,我有:
-(IBAction)saveAddCategory:(id)sender {
if (rootViewController == nil)
rootViewController = [[RootViewController alloc] init];
[rootViewController.addCategoryPopover dismissPopoverAnimated:YES];
[rootViewController dismissPopover];
}
Rootviewcontroller是创建popover的地方。不幸的是,这些方法都没有解决它。有什么帮助吗?
答案 0 :(得分:4)
答案 1 :(得分:2)
我有
- (void)viewWillDisappear:(BOOL)anAnimated
{
[self.dPopover dismissPopoverAnimated: NO];
self.dPopover = nil;
[super viewWillDisappear: anAnimated];
}
并且不明白为什么这对你的情况不起作用。
你的if
有点令人不安,所以我的猜测是你不是在和你认为的那种观点交谈。 rootViewController.addCategoryPopover
可能是零,因为你创建了一个新的控制器。
答案 2 :(得分:0)
我想我用解决方案回答了一个类似的问题,我解决了从UIView
加载MKMapView
的弹出框。
我的解决方案的使用与加载popover的任何其他视图的使用基本相同。
看看: How to dismissPopoverAnimated on iPad with UIPopoverController in MKMapView (SDK3.2)。我希望这能解决你的问题。
答案 3 :(得分:0)
使用NSNotificationCenter To DissmissPoperController Fro Father viewControll