7

タブ バー テンプレートを使用して iOS アプリを作成したので、バー ボタンを使用した UITabBarController を次に示します。問題は、デリゲートとして設定する方法です。SO で、AppDelegate でプログラムで設定する必要があることがわかりましたが、アウトレットとして Tab Bar Controller にアクセスできないため、それは不可能だと思います。

(ViewController と AppDelegate の両方)に適切な値を追加しまし@interfaceたが、次に何をすべきかわかりません。

@interface ViewController : UIViewController <UITabBarControllerDelegate>

アプリ テンプレート全体を削除する必要がなく、IB で作成されたタブ バー コントローラーをデリゲートに設定できることを願っています。

正確には、次のようなタブ選択イベントでの作成を委任したいと考えています。

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController;

何か案が?

4

4 に答える 4

8

新しい TabBarController Delegate クラスをすばやく簡単に作成し、ストーリーボードでデリゲートとして接続できます。

  1. 新しいクラスを作成します:

    class TabBarControllerDelegate: NSObject, UITabBarControllerDelegate {

  2. IB で、オブジェクト ライブラリから左側のビュー コントローラーのリストにオブジェクトを追加します (注: 「オブジェクト」を検索してください。黄色の立方体です)。

  3. このオブジェクト (IB の黄色の立方体) のクラスを TabBarControllerDelegate に変更します。

  4. IB で、Tab Bar Controller Scene に移動します。接続インスペクターから、デリゲートの円を手順 3 で追加した新しいオブジェクトにドラッグします。

  5. TabBarControllerDelegate クラスにデリゲート メソッドを実装します。終わり!

    func tabBarController(tabBarController: UITabBarController, shouldSelectViewController viewController: UIViewController)->Bool {
       println("Selected a new tab")
    

    }

于 2015-07-05T16:49:55.237 に答える
5

0 行のコード

オブジェクトをドラッグしてサブクラス化する

IB オブジェクト

  1. Xcode > ファイル インスペクターを表示 > カスタム クラス。
  2. クラス: TabBarControllerDelegate.

そのオブジェクトにデリゲートを設定します

IB のオブジェクトへのリンク


そのオブジェクトに既存のコードを入れます

これは、現在の に既にあるコードですUITabBarControllerDelegate

class TabBarControllerDelegate: NSObject, UITabBarControllerDelegate {
    // Delegate code goes here
}
于 2015-09-04T04:57:06.603 に答える