再次按下时禁用所选选项卡的重新初始化

Posted

技术标签:

【中文标题】再次按下时禁用所选选项卡的重新初始化【英文标题】:Disable re-initialisation of selected tab when pressed again 【发布时间】:2012-04-17 23:07:07 【问题描述】:

我的 UITabBarController 有问题。在我的应用程序中,我有 4 个选项卡,每个选项卡对应于它们自己的根视图控制器。我可以毫无问题地更改选项卡,并且当我切换回来时,选项卡的状态是完整的。但是,如果我要重新选择相同的选项卡,视图控制器会刷新并带我回到根目录。

这是我希望在我的应用中禁用的功能,我想知道是否有任何可能的方法来做到这一点?

【问题讨论】:

【参考方案1】:

在进一步研究这个问题后,我发现解决这个问题的方法是添加以下代码:

首先将UITabBarControllerDelegate添加到头文件(在我的例子中是AppDelegate),然后添加到主文件:

- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController

bool r = ([tabBarController.viewControllers indexOfObject:viewController] != tabBarController.selectedIndex);

return r;

【讨论】:

以上是关于再次按下时禁用所选选项卡的重新初始化的主要内容,如果未能解决你的问题,请参考以下文章

如何更改选项卡布局中所选选项卡的形状?

保存选项卡的最后状态

在 silverstripe CMS 中,按下时在 TextareaField 中添加一个选项卡

实现选项卡的原理

如何在小屏幕上禁用引导对齐选项卡的堆叠

完全禁用闪亮仪表板的特定选项卡的右侧边栏功能