58

iOSでストーリーボードを使用するときにデフォルトのタブを設定する方法を教えてください。これを達成する方法がわかりません。

ありがとうございました

4

12 に答える 12

78

をサブクラス化するのはやり過ぎのように思えるかもしれUITabBarControllerませんが、それが最もクリーンなソリューションを提供すると思います。

  1. 作成BaseTabBarController.swift
  2. を追加し@IBInspectableて設定しviewDidLoadます:

    class BaseTabBarController: UITabBarController {
    
        @IBInspectable var defaultIndex: Int = 0
    
        override func viewDidLoad() {
            super.viewDidLoad()
            selectedIndex = defaultIndex
        }
    
    }
    
  3. UITabBarControllerストーリーボードで、あなたを新しいサブクラスに設定します。

ここに画像の説明を入力

  1. Attributes Inspectorに移動し、新しいプロパティDefault Indexを設定します。

ここに画像の説明を入力

  1. タダ!(:
于 2015-05-19T09:18:34.177 に答える
35
  1. の新しいファイル サブクラスを作成しますUITabBarController
  2. の最後にこれを追加しviewDidLoadます。

    self.selectedIndex = 1;

  3. この新しいファイルをストーリーボードのカスタム クラスとして設定しUITabBarControllerます。

あなたは終わった。

于 2013-10-17T03:09:11.163 に答える
24

次のコードは私のために働いた:

UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
tabBarController.selectedIndex = 2;
于 2013-05-03T05:54:35.910 に答える
12

次の 2 つの方法のいずれかを使用できます。

tabBar.items = tabBarItems;
tabBar.selectedItem = [tabBarItems objectAtIndex:0];

またはオブジェクトからの直接メソッド

[tabBar setSelectedItem:myUITabBarItem];

または、これらを組み合わせてこれを行うことができます。

tabBar.items = tabBarItems;
[tabBar setSelectedItem:[tabBarItems objectAtIndex:0]];

しかし、私はまだその方法をテストしていません。

于 2012-11-07T22:27:03.460 に答える
4

appdelegate findapplicationDidBecomeActive関数で、この行を追加します

let tabBarController = self.window?.rootViewController as! UITabBarController
tabBarController.selectedIndex = 0 // any index you want
于 2015-11-02T03:54:55.537 に答える