1

现在我正在开发一个 iPad 应用程序,其中有UITabBarController9 个视图控制器和 9 个UITabBarItems。当我单击一个名为“ET”的项目时,aUIPopoverController出现在上方UITabBarItem,第一次一切正常,在我单击弹出框外的其他地方使其消失后,然后我再次单击“ET”它不起作用. 经过一些调试,我发现应该在 popover 控制器中显示的视图控制器已从 中删除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 强大的属性,所以有人可以帮忙吗?谢谢 !

4

0 回答 0