2012-03-19 108 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 2012-03-19 02:28:00

+1

檢查customView框架。這對按鈕來說足夠大嗎? – ArunGJ 2012-03-19 04:16:02

+0

剛剛嘗試過你的代碼,似乎工作正常,但是我做了'[self.view addSubview:button]',嘗試'self.view'並查看可點擊性是否有任何變化。 – iNoob 2012-03-19 04:27:16

回答

1

@Illep我用你的代碼在一個演示應用程序,並增加了button.png爲好。代碼工作非常好。

由於要添加此按鈕,獨立的觀點,即

[customView addSubview:button]; 

所以有相當多的機會,要麼這個customView或按鈕的用戶交互取得了一些添加您的customView的幀(外儘管機會相當少)。你可以通過設置clipSubView爲TRUE,您customView檢查這個..

enter image description here

希望它能幫助。

+1

問題可能是你的'customView'區域,當按鈕不適合它的區域,那麼你不能與它進行交互。由於拉胡爾建議使用clipToSubview爲TRUE。然後按鈕將成爲自定義視圖的焦點/您可以記錄位置和大小以進行比較。如果不是再次添加註釋,希望它有所幫助。 – iDroid 2012-03-19 04:44:34

相關問題