现在我正在开发一个 iPad 应用程序,其中有UITabBarController
9 个视图控制器和 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 强大的属性,所以有人可以帮忙吗?谢谢 !