2011-01-14 5 views
0

2つのUIBarButton(または実際のコントロール)をコントローラーの同じアクションに配線できますか?iPhone、Interface Builder - ワイヤー2が同じ動作に制御

Interface Builderで試したことがありますか?それを行う方法はありますか?もしあれば、私はIBに私が知らないトリックがあると感じます。

今私はMyAction1:とMyAction2を作っていて、コントローラー内で同じメソッドを呼び出すようにしました。これは本当に醜いです。

答えて

3

あなたは間違いなく可能です!ちょうど1

-(IBAction) MyAction: 

を持ち、Interface Builderでこれに(Ctrlキー+セレクトを使用して)複数のUIButtonsやUIコントロールをフックアップ。 IBの "File's Owner"のMyActionのリストの隣に、複数のコントロールがこのアクションに接続されていることを示すために、複数のものとして表示されます(リストを表示するためにこれを展開できます)。 これを何度も使用して成功しました。

+0

保持シフトは私のためにそれをした、ありがとう。 – jonathanpeppers

0

あなたは複数のボタンが同じコードを共有するために同じハンドラを使用したい場合は:あなたはより多くの情報が必要な場合、あなたは上でこのことについてのドキュメントを訪問することができ、また

void handler (object sender, EventArgs args) 
    { 
     if (sender == button1) 
      Console.WriteLine ("button1"); 
     else 
      Console.WriteLine ("some other button"); 
    } 
      
    button1.TouchDown += handler; 
    button2.TouchDown += handler; 

http://monotouch.net/Documentation/Events

このことができます

希望=)

アレックス

+0

私はコードからではなく、IBからやりたいと思います。私はイベントを手動で結線したくないのですが、それはちょっとした抗MVCのようです。 – jonathanpeppers

+0

Ohh ok :)私はコードでこれをやっているのがより心地よく感じるので、私はもっとコントロールしているように感じますが、IBでやってもいいですよ。 – dalexsoto

+0

私は大きなデザインパターンの男です。 UIのイベントで+ =に満足しています(モデルでは問題ありません)。しかし、AppleのMVCのバージョンは、一般的にはかなり安っぽいです(IMHO)。 – jonathanpeppers

関連する問題