2

目前我正在开发一个包含 3 个选项卡的选项卡式应用程序,我想知道是否有可能更改选项卡的顺序,即将第三个选项卡放在第一个选项卡的位置?

4

3 回答 3

4

只需在情节提要中更改它。为这样的小东西修改 XML 很容易。在您选择的编辑器中打开 Storyboard 文件并搜索“tabBarController”。你会发现这样的东西:

<connections> <segue destination="XmF-SX-cO9" kind="relationship" relationship="viewControllers" id="CZB-Ec-d55"/> <segue destination="mCx-nD-74Q" kind="relationship" relationship="viewControllers" id="3PE-EG-9Vs"/> <segue destination="bxy-1d-KHG" kind="relationship" relationship="viewControllers" id="OP9-xt-ZMo"/> <segue destination="JqF-xj-sCJ" kind="relationship" relationship="viewControllers" id="cHB-MZ-3bs"/> </connections>

这代表标签的当前顺序。如果要切换第一个和第二个选项卡,只需切换它们在此列表中的位置即可。就这么简单。

于 2014-10-24T04:51:38.363 回答
3

试试这个:

UITabBarController *tabController;
NSArray *controllers = tabController.viewControllers;
NSArray *reorderedControllers = [controllers sortedArrayUsingComparator:yourComparator];
[tabController setViewControllers:reorderedControllers];
于 2012-09-17T11:55:46.717 回答
0

通过属性将当前 viewControllers 从 tabbar 中取出

NSArray *viewControllers = myTabBarController.viewControllers;

并且手动重新排序数组中的viewController:

NSArray *newOrderedViewController = [NSArray arrayWithObjects:viewControllers[2],viewControllers[0],viewControllers[1],viewControllers[3], nil];

最后设置新的有序视图控制器。

myTabBarController.viewControllers = newOrderedViewController;
于 2012-09-17T11:57:21.313 回答