现在我正在使用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强大的财产,所以有人可以提供帮助吗?谢谢!