私は、押されたときに別のView Controllerのメソッドを呼び出す必要があるボタン付きのテーブルビューセルを持っています。私はこの後に続きます。tutorialは、ストーリーボードの別のビューコントローラーにアクセスする方法の1つを示しますが、ビューコントローラーの位置をハードコーディングする必要があります。私のView Controllerの順序を変更するときはいつでも、コードを更新する必要があります。ここで別のビューコントローラからの呼び出しメソッドiOS StoryBoard
は彼らの方法である:
UITabBarController *tabBarController = (UITabBarController *)
self.window.rootViewController;
UINavigationController *navigationController =
[[tabBarController viewControllers] objectAtIndex:0];
PlayersViewController *playersViewController =
[[navigationController viewControllers] objectAtIndex:0];
playersViewController.players = players;
む〜、それは何ですか?プレーヤービューをPlayersViewControllerの プレーヤープロパティに割り当てたいので、 のデータソースに対してこの配列を使用できます。しかし、アプリケーションデリゲートはまだ PlayersViewControllerについて何も知らないので、それを見つけるために ストーリーボードを掘り下げなければならないでしょう。これは私が迷惑を感じるストーリーボード の限界の1つです。 Interface Builderを使用すると、MainWindow.xibのApp Delegateへの参照は常に になります。 トップレベルのView ControllerからAppletの のアウトレットに接続することができます。これは現在ストーリーボードでは不可能です。 は、トップレベルビューの コントローラからのアプリケーションデリゲートへの参照を作成できません。それは残念ですが、私たちは常にそれらの 参照をプログラムで取得できます。
もっとクリーンな方法を知っている人はいますか?
テーブルビューのセルにIBOutletを作成しようとしましたが、何らかの理由でCtrlキーを押しながらクリックして他のビューコントローラにドラッグできません。
私も他のビューコントローラに私のボタンのIBActionを設定しようとしたが、私は、クリックされた何行知っておく必要がある、と私は-(IBAction) addButtonClicked:(id)seder
から得ることができる唯一の情報はちょうどRectButton
あるsender
情報、です。
ありがとうございます!回避策として
ありがとうございます。私はそれを世話するために代表団に切り替えることになったが、タグは素晴らしいアイデアです。また、Appleデモで、ストーリーボード上の任意のViewControllerをロードするための[UIViewController storyboard]メソッドがあることがわかりました。私もそれを見てみましょう。しかし、アイデアをありがとう。私はどこかでそれを使用すると確信しています –