2013-02-24 4 views
7

ボタンを作成しようとしましたが、これをタップすると別のUIViewのポップオーバーが表示されます。プログラムによるUIButtonアクションのコード

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    self.hard1 = [UIButton buttonWithType:UIButtonTypeCustom]; 
    [self.hard1 setFrame:CGRectMake(884, 524, 105, 60)]; // set the x,y,width and height based on your specs 
    UIImage *buttonImage = [UIImage imageNamed:@"green.jpg"]; 
    hard1.layer.cornerRadius = 10; 
    hard1.clipsToBounds = YES; 
    [hard1 addTarget: self 
       action: @selector(buttonClicked:) 
    forControlEvents: UIControlEventTouchUpInside]; 
    [self.hard1 setImage:buttonImage forState:UIControlStateNormal]; 
    [self.view addSubview:self.hard1]; 
} 

をし、さらに下:これをテストするために、私は私のviewDidLoad]セクションに次のコードを持って、私はボタンを押したときに

- (IBAction) buttonClicked: (id)sender 
{ 
    NSLog(@"Tap"); 
} 

しかし、コンソールは「タップ」を記録しません。何か案は?

答えて

12

は、次の3行のコードを見なければなりません...動作しません:あなたは、自己が欠落している

hard1.layer.cornerRadius = 10; 
hard1.clipsToBounds = YES; 
[hard1 addTarget: self 
      action: @selector(buttonClicked:) 
forControlEvents: UIControlEventTouchUpInside]; 

。 3人とも彼らは、次のようになります。

また
self.hard1.layer.cornerRadius = 10; 
self.hard1.clipsToBounds = YES; 
[self.hard1 addTarget: self 
      action: @selector(buttonClicked:) 
forControlEvents: UIControlEventTouchUpInside]; 

、あなたがプログラム的にそれを作成している場合、それはIBAction(IBインターフェイスビルダーの略で、これは、インターフェイスビルダーで作成されていない)であってはなりません。

+0

ああ、愚かな私。どうもありがとうございました! –

+1

今私はそれをしています。プロパティを作成するときに合成でこれを行います:@synthesize hard1 = _hard1;この方法は単に "ハード1"としてのプロパティを参照して動作しません。それはself.hard1か_hard1のどちらかです(後者はセッターメソッドでのみ使用されます) – Odrakir

+0

あなたの助けをたくさんありがとう –

0

イベントレスポンダーをbuttonClickedとしましたが、IBActionにはbuttonTapを定義しました。これは明らかに

それは

[hard1 addTarget: self 
       action: @selector(buttonTap:) 
    forControlEvents: UIControlEventTouchUpInside]; 
+0

をself.hard1するhard1を交換してください。実際のコードは上記で編集されていますが、まだ動作しません。 –

3
self.hard1 = [UIButton buttonWithType:UIButtonTypeCustom]; 


[hard1 addTarget: self 
       action: @selector(buttonClicked:) forControlEvents: UIControlEventTouchUpInside]; 

私はタイプミスをした

関連する問題