2010-04-07 53 views
0
UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 180, 180)]; 
myLabel.backgroundColor = [UIColor greenColor]; 
[self.view addSubview:myLabel]; 

UIButton *myButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
[self addTarget:self action:@selector(show) forControlEvents:UIControlEventTouchDown]; 
myButton.frame = CGRectMake(80.0, 120.0, 30, 30); 
myButton.showsTouchWhenHighlighted = YES; 
[self addSubview:myButton]; 

按鈕作品(呼叫show:),但使用[myLabel addSubview:myButton];按鈕不起作用。不知道爲什麼?的UIButton上的UIScrollView不能以這種方式工作

----------------編輯&解決方案------------ 感謝@KennyTM

的UILabel默認情況下不處理任何事件。您需要將標籤的userInteractionEnabled屬性設置爲YES

此外,你最好不要在UILabel的頂部添加一個UIButton。

回答

1

UILabel默認不處理任何事件。您需要將標籤的userInteractionEnabled property設置爲YES。

無論如何,按鈕不應該是標籤的子視圖,這是不合邏輯的。讓他們倆都是UIView的子視圖。

+0

謝謝,只是覺得它們都是UIView的子類。 – 2010-04-07 05:39:04

+0

@william:UILabel *是UIView的子類,只是它明確地關閉了'userInteractionEnabled'。 – kennytm 2010-04-07 05:40:04

相關問題