2012-03-19 32 views
0

私はカスタムボタンを追加し、UIImageを追加しました。私はボタンをクリックすることができないイメージを追加して以来、クリックが検出され、コードが実行されるまでに3-4回の時間がかかります。どうしてこれなの ?ボタンに画像を追加してボタンがクリックされない

UIButton * button = [UIButton buttonWithType:UIButtonTypeCustom]; 
    UIImage *buttonImage = [UIImage imageNamed:@"button.png"]; 
[button setBackgroundImage:buttonImage forState:UIControlStateNormal];  
button.frame = CGRectMake(10.0, 90.0, 150.0, 40.0); 
button.backgroundColor = [UIColor clearColor]; 
[button addTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside];  
[customView addSubview:button]; 

buttonClick方法:

-(void)buttonClick:(id)sender { 
NSLog (@"Click"); 
} 
+2

画像部分をコメントアウトすると、実際にはうまく機能しますか?イメージがボタンのクリック可能性に影響するとは思えませんでした。 – Ahti

+1

あなたのcustomViewフレームを確認してください。ボタンの大きさは十分ですか? – ArunGJ

+0

あなたのコードを試してみましたが、正常に動作したようですが、私は '[self.view addSubview:button]'を実行し、 'self.view'を試して、クリック可能性に変更があるかどうかを確認してください。 – iNoob

答えて

1

@Illep私はデモアプリケーションでコードを使用して、同様button.pngを追加しました。コードは絶対にうまく動作します。あなたは

[customView addSubview:button]; 

すなわち別のビューにこのボタンを追加しているので

ので、こののCustomViewやボタンのユーザインタラクションのいずれかがあなたのCustomViewのフレーム(外のどこかに追加取得していることを非常に多くのチャンスがありますチャンスはかなり少ないですが)。あなたは

enter image description here

はそれがお役に立てば幸いです。..あなたのCustomViewためTRUEにclipSubViewを設定することで、これを確認することができます。

+1

問題はあなたの 'customView'地域である可能性があります。ボタンがその地域に収まらないときは、あなたはそれを操作することができません。 rahulがclipToSubviewをTRUEにするように提案しました。その後、ボタンにはカスタムビューのフォーカスが置かれます。また、両方を比較するための位置とサイズを記録することができます。 – iDroid

関連する問題