Iphone 从UIButton显示的UIPopoverController不隐藏?

Iphone 从UIButton显示的UIPopoverController不隐藏?,iphone,objective-c,ipad,Iphone,Objective C,Ipad,我有一个UIPopoverController,它是通过UIViewController上的按钮显示的,但是当我点击视图中不是popover的任何部分时,它没有隐藏 显示此popover的按钮是动态创建的,您将看到以下代码中引用的按钮: -(IBAction)showModifiers:(id)sender{ [self.popoverController dismissPopoverAnimated:YES]; UIView *theSuperview = self.vie

我有一个UIPopoverController,它是通过UIViewController上的按钮显示的,但是当我点击视图中不是popover的任何部分时,它没有隐藏

显示此popover的按钮是动态创建的,您将看到以下代码中引用的按钮:

-(IBAction)showModifiers:(id)sender{

    [self.popoverController dismissPopoverAnimated:YES];

    UIView *theSuperview = self.view; 
    CGPoint touchPointInSuperview = [sender locationInView:theSuperview];
    UIView *touchedView = [theSuperview hitTest:touchPointInSuperview withEvent:nil];

    currentPopoverTag = [touchedView tag];
    NSLog(@"Show Modifiers %i %i", [touchedView tag], currentPopoverTag);

    RepZioCoreDataAppDelegate *appDelegate  = [[UIApplication sharedApplication] delegate];
    if (appDelegate.popoverController)
        [appDelegate.popoverController dismissPopoverAnimated:YES];

    self.modifierListPopoverViewController = nil;   
    ModifierListCollection *collection = [self.modifierLists objectAtIndex:[touchedView tag]-100];
    ModifierList *modifierList = [self getModifierList:collection.ModifierListID];
    self.modifierListPopoverViewController =
    [[[ModifierListPopoverViewController alloc] initWithModifierList:modifierList withManufacturerID: self.manufacturerID] autorelease];
    self.modifierListPopoverViewController.delegate = self;

    self.popoverController = [[[UIPopoverController alloc] initWithContentViewController:modifierListPopoverViewController] autorelease];
    [self.popoverController presentPopoverFromBarButtonItem:sender  permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}

似乎有一些观点在讨论触摸事件

我意识到这不太可能,但是您的
ModifierListPopViewController
类是否将其
modalInPopover
属性设置为
YES
?(默认值为
,这将为您提供所需的行为)