2011-02-21 5 views
0

Interface Builderでは、カスタムコントローラのボタン(カスタムNIB)とMainView NIB(AppDelegate)のアクションメソッドを接続できますか?は、カスタムコントローラのボタンとAppDelegateのアクションとの間で接続できますか?

背景 - 物事を理解する上で、私は2人の顧客管理者(独自のビューを持つ)を持っています。そのため、iPhoneアプリケーションを起動するとView1が起動します。しかし、View1にはボタンがあり、それを押すと、View1コントローラー/ビューをView2コントローラー・ビューでスワップします。私は、AppDelegateとメインウィンドウをどのようにして、私が提供するカスタムNIB /コントローラに含まれているかを表示するための特定のビューがどのように割り当てられているかを理解したかったのです。

私は、(より良いまたは最悪の場合)アプリケーションの委任コードのアクションとして(hereに似た)ビューをスワップアウトするコードを置くべきだと考えました。 (つまり、私のview1またはview2のどちらのコントローラでも)

とにかくIBでは、View1ボタンのTOUCH_UP_INSIDEイベントからMainViewNIBにドラッグすることはできません。これはできませんか?もう一度、私は効果的に1つのNIBから別のNIB(コントローラー)でアクションメソッドをトリガーするボタンを取得しようとしています。

+0

ビュー1の値をとってビュー2に表示する場合は、ビュー1のボタンのクリックアクションでviewcontrollerを宣言することによって行うことができます(間違っている場合は修正してください)。 – Milesh

+0

私が間違っていたら、view1からview2にデータを表示したいのですか?または – Milesh

+0

が表示されないようにするには、ビュー1のボタンを介してトリガーしようとすると効果的です。ビュー自体から別のビュー(ビュー2)にスワップします。 – Greg

答えて

0

これまで見たことに基づいて、Interface Builderでは不可能と思われます。あなたが同意すれば教えてください。

私はあなただけの接続を作成することができます.xibファイルで

0

...他の人が私は私が(仮に)この答えを提案しなければならないと思った尋ねた具体的な質問に正義を行うためにしかし、いくつかの選択肢を示唆していることに注意してください.xibファイル内で参照されているオブジェクト(ボタン、ラベルなどの「実際の」オブジェクト、またはファイルの所有者などの「プロキシ」オブジェクト)の間に存在します。

アプリデリゲートのサブクラスにご.xibファイルの所有者を設定し、ペン先を読み込むために、このコードを呼び出す場合:

[[NSBundle mainBundle] loadNibNamed:@"MyNib" owner:myAppDelegate options:nil]; 

、あなたのUI項目とアプリデリゲートサブクラス間で行われたすべての接続が入力されます(ただし、ロード時にはnilであるIBOutletのみが設定されます。loadNibNamed:owner:options:オーナーオブジェクト内の非ゼロIBOutletsは変更されません)。

1

私はこの質問が古いことを知っていますが、私はこの回答を探している人にはこれを書き留めておくと思いました。 AppDelegateはビューをスワップするのには適していません。ルートビューコントローラを作成する必要があります。新しいView Controllerを作成してそれをAppDelegateのルートView Controllerに設定し、View 1 init stuffを新しいroot View Controllerの "ViewDidLoad"セクションに追加すると、好きなようにビューを入れ替えることができます。プロトコルを作成して、ルートビューコントローラにメッセージを送信するために委任する必要がありますが、これを行う方法を示すスレッドがたくさんあります。がんばろう!

関連する問題