0

Ok、

XCode 4 で 3 つの小さなプログラムを作成しました: 電卓、「スクラッチ パッド」(空白のメモ タイプのウィンドウ)、および「スプレッド シート」(電卓で得られた値を保持するためのスプレッド シートのように見えます)

私が今やろうとしているのは、電卓にボタンを追加することです。このボタンを押すと、スクラッチ パッドまたはスプレッド シートのいずれかが実行され、ユーザーはどちらを選択するかを選択できます。

簡単に見つけられるように、両方のバンドルを「アプリケーション」フォルダーに配置しました。

NSButton をサブクラス化する必要があるのか​​、それとももっと簡単な方法があるのか​​疑問に思っていました。

/users/me/applications で NSButton にファイル ブラウザを開き、ユーザー (me :-)) がアプリケーションの 1 つを選択すると、ボタンが変数として保存するだけでよいと考えていました。次に、キーと同等のキーを押すと実行します。

しかし、ボタンに「クリック」と「押す」という2つの異なるアクションを与える方法がわかりません

ボタンをサブクラス化する必要がある場合、どこから始めればよいでしょうか? もっと簡単な方法があるとすれば、それはどこでしょうか?

4

2 に答える 2

2

簡単な解決策は、プログラムごとに 1 つずつ、2 つのボタンになるようです。

ボタンを 1 つだけ使用するように設定している場合は、ボタンのアクションでシートまたはダイアログ ボックスを表示して、ユーザーが起動するアプリケーションを決定できるようにするのが簡単です。

于 2011-03-28T05:00:53.627 に答える
2

私はこのアプローチが好きです、それはいいですね。メニューでボタンが実行するプログラムを決定できるようにする方法はありますか?次に、その「キーボードの同等物」を押すと、実際にプログラムが起動しますか? – TotalCocoaNewb

確かにそうです:

-(IBAction)theActionYouSetOnThePopupButtonInInterfaceBuilder:(NSPopUpButton*)sender
{
    if ( 0 == [sender indexOfSelectedItem] ) {
       // do something...
    } else {
       // do something else...
    }
}
于 2011-03-28T15:07:28.527 に答える