2011-09-18 7 views
1

私はiPhone Devを学んでいます。私の簡単な電卓プログラムを書くんだけど、私は、私はすべてのオプションを得ることはありませんInterface Builderで、ファイルの所有者に電卓のボタンのいずれかを接続しようとすると:UIButtonをXCode4のViewControllerに接続できません

.hファイル

@interface CalculatorViewController : UIViewController 
{ 

    CalculatorBrain *brain; 
    IBOutlet UILabel *label; 

} 

- (IBAction)digitPressed:(UIButton *)sender; 

- (IBAction)operandPressed:(UIButton *)sender; 
@end 

.mファイル

#import "CalculatorViewController.h" 

@implementation CalculatorViewController 

- (IBAction)digitPressed:(UIButton *)sender 
{ 
    //not implemented yet 
} 

- (IBAction)operandPressed:(UIButton *)sender 
{ 
    //not implemented yet 
} 
@end 

は、私の知る限りは、インターフェイスビルダーで私CalculatorViewController.xibで働いているとき、私は、ファイルの所有者にボタンを接続しようと、私は理解して、私は2つのオプションがありますする必要があります 1. をdigitPressed 2.オペランド押された

しかし、私はオプションがありません。私が間違っていることは何ですか?

ありがとうございました。

+0

変更してみてください '(UIButton *)sender'にちょうど'(ID)が – Eimantas

答えて

4
  • ファイルの所有者は、IBでCalculatorViewController
  • に設定されていることを確認し、ボタンをクリックして、右端にあるオプションをクリックします(接続、私はそれが呼ばれると思う)
  • はtouchUpInsideというアクションを検索します。これの横にある円の中からファイルの所有者にドラッグすると、2つのアクションがポップアップします。
+0

*「あなたに」ボタンから直接移動する場合は、アクションにリンクされているタッチイベントのタイプを指定する必要があります。 "* - 可能です。デフォルトは' touchUpInside'です。 – Jim

+0

@ジム:毎日学校の日、ありがとう! – jrturton

+0

これは動作しません – Tony

0

ボタンからオーナーにドラッグしているのですか?

コードからペン先のオブジェクトを参照する場合は、IBOutletを定義し、所有者からオブジェクトにドラッグします。

nibファイルのオブジェクトからコードを参照する場合は、IBActionを定義し、オブジェクトから所有者にドラッグします。

+0

私はボタンからドラッグしてるのsender'、ファイルの所有者の – Tony

0

同様の問題が発生しました。 問題はViewControllerの名前を変更したことでした。 XIBファイルには、その内部にView Controllerの名前があります。

実際のUIビューコントローラクラスのインターフェイスビルダーの名前と一致しない場合は、インターフェイスビルダーが面白くなります。

修正するには、XIBファイルをソースコードとして開きます(右クリックして[ソースコードとして開く]を使用します)。 これはXMLファイルです。古いコントローラの名前を見つけ、正しい名前に変更します。 私は下のXMLでそれを見つけた:

<dictionary class="NSMutableDictionary" key="flattenedProperties"> 
    <string key="-1.CustomClassName">xxxxxxViewController</string> 
関連する問題