2012-05-20 63 views
0

我有添加目標/操作方法到我的應用程序的問題。這是我的代碼:UIControl - addTarget:action:forControlEvents不調用選擇器內部的方法

-(void)printInConsole 
{ 
    NSLog(@"2"); 
} 

-(void)createGCButton 
{ 
    UIButton * LButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
    LButton.frame = CGRectMake(200, 90, 100, 50); 
    [LButton setTitle:@"L" forState:UIControlStateNormal]; 
    [self.view addSubview:LButton]; 
    [LButton addTarget:self action:@selector(printInConsole)forControlEvents:UIControlEventTouchUpInside]; 
} 

所以首先我嘗試了一種遊戲中心方法,但我沒有工作。現在我添加這個簡單的NSLog方法,它也不起作用。控制檯不寫下任何內容。那麼問題在哪裏。如果您需要更多關於我的代碼的詳細信息,只需說出來,我就會發布它。上帝保佑解決這個問題的人。

問候,Klemen

+0

當你按下按鈕,它看起來像是被按下(即它是否會改變顏色)? – Joel

+0

將此代碼粘貼到乾淨的項目中工作,所以問題不在於您發佈的代碼中。您是否偶然在視圖上使用UITapRecognizers?你在使用ARC嗎? –

+0

@按鈕更改顏色 –

回答

1

的問題很可能與UITapGestureRecognizer。你可以看到我爲這個問題所做的這個blog post

基本上你需要實現一個UITapGestureRecognizer委託方法,並告訴它不要弄亂按鈕。

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch 
{ 
    return ![touch.view isKindOfClass:[UIButton class]]; 
} 
相關問題