2013-01-05 51 views
0

這是我的代碼的UIButton與ControlEvents不工作的UITableViewCell

UIImageView *bgDetails = [[UIImageView alloc] initWithFrame: CGRectMake(0, 20, 320, 47)]; 
bgDetails.image = [UIImage imageNamed:@"bgDetail"]; 

UIButton *btnLike = [UIButton buttonWithType:UIButtonTypeCustom]; 
[btnLike setBackgroundImage:[UIImage imageNamed:@"38_38"] forState:UIControlStateNormal]; 
btnLike.frame = CGRectMake(278, 4.5f, 37, 37); 
[btnLike addTarget:self action:@selector(doLike:) forControlEvents:UIControlEventTouchUpInside]; 

[bgDetails addSubview:btnLike]; 
[cell.contentView addSubview:bgDetails]; 

btnLike不調用doLike方法。請幫幫我!謝謝!

回答

2

這裏有兩個可能的問題。第一個是這樣的:我不知道它是否只是一個錯字,但你寫

action:@selector(doLike:) 

,但後來你抱怨的選擇doLike不具有尾隨的冒號(即不帶參數) 。如果出現這種問題,您可以通過更改其中一個來修復它,以便兩個選擇器名稱匹配(它們都必須是doLike:doLike,一致)。

我看到的另一個錯誤是您將該按鈕添加爲圖像視圖的子視圖。 UIImageView有用戶交互默認關閉,所以要想它給用戶觸摸做出反應,你要它userInteractionEnabled屬性設置爲啓用:

bgDetails.userInteractionEnabled = YES; 
+0

不錯!謝謝你的回答。 –

+0

@MrQ不客氣。 – 2013-01-05 17:39:35