ans*_*hul 0 iphone uitabbarcontroller uitabbaritem
我有一个基于tabbar的应用程序(在窗口本身添加了tabbar控制器),所有导航控制器及其各自的根视图控制器都在window的xib中设置.我有4个标签栏项目.
假设我单击项目1,然后向我显示该项目的根视图控制器.此根视图包含一个包含5个单元格的表.如果我单击一行,则会将新视图推送到导航堆栈.现在,此推送视图有一个单击按钮,将再次按下一个新的视图控制器.我有4个这样的视图控制器,它们在导航堆栈上一个接一个地被推送.
现在,让我说我在导航堆栈中的第3个视图然后,我点击了标签栏项目1(我之前点击过的那个); 然后,显示第一个根视图控制器,我的整个导航堆栈都消失了.我只是不希望这种情况发生,也就是说,我想保留在第3个视图控制器上,并且还能够点击所有标签栏项目(不想禁用任何项目).我知道它可以通过实现tab bar控制器委托方法来实现:shouldSelectViewController,但我不知道怎么做?
执行当前所选viewcontroller的检查.如果current与tap选项卡相同,则在委托方法中返回no.想想这样的意思是什么意思?
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController;
{
if ([[tabBarController viewControllers] objectAtIndex:tabBarController.selectedIndex] == viewController)
{
return NO;
}
else
{
return YES;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2968 次 |
| 最近记录: |