UITabBarController中的UIPopoverController只能工作一次

时间:2013-03-01 07:55:39

标签: ios ipad uipopovercontroller

现在我正在使用iPad应用程序,其中UITabBarController有9个视图控制器和9个UITabBarItems。当我点击一个项目,名为" ET",UIPopoverController出现在UITabBarItem上方时,一切顺利,我点击了弹出窗口外的其他地方它消失了,然后我点击" ET"再一次,它不起作用。经过一些调试后,我发现应该在弹出控制器中显示的视图控制器已从UITabBarController.viewcontrollers中删除,现在UITabBarController只有8个视图控制器。我不知道我在哪里删除它,这是我显示弹出控制器的代码

-(void) PopViewController:(UIViewController*)pVC rect:(CGRect)rect type:(int)nType
{
if (pVC == NULL)
    return;

[self PushViewController:NULL type:0];
 GTJAMyNavigatorViewController*  navigationController = [[GTJAMyNavigatorViewController alloc] initWithRootViewController:pVC];
[navigationController setNavigationBarHidden:YES animated:NO ];
if ([pVC isKindOfClass:[TZTUIETViewController class]]) {
self.popoverVC = [[UIPopoverController alloc] initWithContentViewController:navigationController];
}

self.popoverVC.delegate = self;
[navigationController setPopover:self.popoverVC];
[self.popoverVC presentPopoverFromRect:rect
                           inView:self.view
         permittedArrowDirections:UIPopoverArrowDirectionDown
                         animated:YES];

NSLog(@"%d",[self.popoverVC retainCount]);

}

这里是代理方法的代码

- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController
{
if (self.popoverVC && self.popoverVC == popoverController)
{
    [((TZTUITabBar*)self.tabBar) UndoSelect];

    [self.popoverVC release];
    self.popoverVC = NULL;
}
 NSLog(@"%d",[self.popoverVC retainCount]);

return;

}

我已经成为self.popoverVC强大的财产,所以有人可以提供帮助吗?谢谢!

0 个答案:

没有答案