2014-01-26 162 views
0

在視圖中,我使用標籤作爲按鈕的主機。該標籤被添加到self.view。兩個對象都按預期顯示,但按鈕中定義的操作未被觸發。 下面是代碼:按鈕操作無法在視圖上的按鈕上工作

datelabel = [[UILabel alloc] init]; 
datelabel.frame = CGRectMake(10, 200, 300, 40); 
datelabel.backgroundColor = [UIColor whiteColor]; 
datelabel.textColor = [UIColor blueColor]; 
datelabel.font = [UIFont fontWithName:@"Verdana" size: 18.0]; 

NSDateFormatter *df = [[NSDateFormatter alloc] init]; 
df.dateStyle = NSDateFormatterMediumStyle; 
datelabel.text = [NSString stringWithFormat:@"%@", 
[df stringFromDate:[NSDate date]]]; 

CGRect buttonFrame = CGRectMake(170, 8, 130, 25); 
UIButton *button = [[UIButton alloc] initWithFrame: buttonFrame];  
[button setTitle: @"My Button" forState: UIControlStateNormal]; 
[button addTarget:self action:@selector(salvarFecha:) forControlEvents: 
    UIControlEventTouchUpInside]; 
[button setTitleColor: [UIColor redColor] forState: UIControlStateNormal]; 

[datelabel addSubview:button]; 

[self.view addSubview:datelabel]; 

這裏按鈕動作代碼:

- (void)salvarFecha: (id) sender{ 
    NSLog(@"BOTON PULSADO"); 
} 

歡迎任何幫助......

+1

我從來沒有聽說過任何人將UIButton添加爲UILabel的子視圖。爲什麼不像'datelabel'那樣將它添加到'self.view'? – daltonclaybrook

+0

這是一個顯示日期選擇器中選定日期的標籤。我想用它來放置按鈕來關閉日期選擇器。 – mvasco

+0

你是對的,如果我把按鈕放在self.view它的作品....你能否把你的評論放入答案接受它? – mvasco

回答

1

我從來沒有聽說過任何人添加一個UIButton作爲的UILabel的一個子視圖。爲什麼不把它添加到self.view中,就像你用datelabel做的那樣?

+0

謝謝,它正在按照您的說法工作。 – mvasco

0

在我看來,你需要設置userInteractionEnabledYES

From UIView.h

if set to NO, user events (touch, keys) are ignored and removed from the event queue.

UILabel.h這個領域是NO默認

希望這將幫助你

+0

謝謝,但答案要簡單得多... – mvasco

相關問題