使用故事板时设置默认选项卡

use*_*581 53 storyboard uitabbarcontroller uitabbar ios

任何人都可以告诉我如何在iOS中使用故事板时设置默认选项卡.我似乎无法弄清楚如何实现这一目标.

谢谢

Jos*_*nch 121

虽然您可以像其他答案一样以编程方式设置初始选定选项卡,但要在故事板中实现相同而不触及代码,您将执行以下操作:

  1. 在Storyboard界面中选择选项卡栏控制器
  2. 在"工具"面板中显示Identity Inspector
  3. 添加新的"用户定义的运行时属性"
  4. 将关键路径设置为"selectedIndex"
  5. 将类型设置为"数字"
  6. 将Value设置为您要选择的选项卡的索引(例如,值1将选择第二个选项卡)
  7. 保存Storyboard,构建并运行应用程序

这应该是您完成上述步骤后的样子:

  • 像魅力一样工作,确保你在UITabBarController而不是UITabBar或任何嵌套的UIViweController上使用它. (13认同)
  • 不适用于Xcode 7.3.错误`无法在(UITabBarController)上设置(selectedIndex)用户定义的检查属性:无法在bundle中加载NIB:'NSBundle </ Users/... (7认同)
  • 对我来说也不适用.Xcode 7.2.我得到的错误是:无法在(UITabBarController)上设置(selectedIndex)用户定义的检查属性:无法在bundle中加载NIB:'NSBundle </ Users/... (6认同)

Avi*_*oss 73

对于一些子类来说可能看起来有些过分UITabBarController,但是,我认为它提供了最干净的解决方案.

  1. 创建 BaseTabBarController.swift
  2. 添加@IBInspectable并设置为viewDidLoad:

    class BaseTabBarController: UITabBarController {
    
        @IBInspectable var defaultIndex: Int = 0
    
        override func viewDidLoad() {
            super.viewDidLoad()
            selectedIndex = defaultIndex
        }
    
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在故事板中,将您设置UITabBarController为新的子类:

在此输入图像描述

  1. 转到属性检查器添加设置新属性默认索引:

在此输入图像描述

  1. 当当!(:


Dev*_*hon 32

  1. 创建一个新的文件子类UITabBarController;
  2. 在最后添加viewDidLoad:

    self.selectedIndex = 1;

  3. 将此新文件设置为UITabBarControllerStoryboard中的自定义类.

你完成了.


Rah*_*ngh 22

以下代码对我有用:

UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
tabBarController.selectedIndex = 2;
Run Code Online (Sandbox Code Playgroud)


Tre*_*lph 11

您可以使用以下两种方法之一:

tabBar.items = tabBarItems;
tabBar.selectedItem = [tabBarItems objectAtIndex:0];
Run Code Online (Sandbox Code Playgroud)

或来自对象的直接方法

[tabBar setSelectedItem:myUITabBarItem];
Run Code Online (Sandbox Code Playgroud)

或者您可以将它们组合起来执行此操作:

tabBar.items = tabBarItems;
[tabBar setSelectedItem:[tabBarItems objectAtIndex:0]];
Run Code Online (Sandbox Code Playgroud)

但我还没有测试过这种方法,希望这有帮助!