2011-01-26 4 views
0

먼저 신참입니다. 도움을 주시면 감사하겠습니다. 버튼이 시작될 때마다 버튼의 제목을 변경하기 위해 다음 코드를 작성했습니다. 코드를 테스트 할 때 새 버튼 레이블을 몇 초 동안 볼 수 있으며 버튼이 다시 비어 있습니다 (시작된 것처럼). 처음 세 번 만 보았 기 때문에 계산 방법에 문제가 있다고 생각합니다. 코드는 다음과 같습니다.목표 C - 변수 제목을 보여주는 UIButton 도움말

-(IBAction)pressButton:(id)sender { 
static int counter = 0; 

if (counter == 0) { 
    [[sender titleLabel] setText:@"not answered"]; 
}else if (counter == 1) { 
    [[sender titleLabel] setText:@"Pressed Once"]; 
}else if (counter == 2) { 
    [[sender titleLabel] setText:@"Pressed Twice"]; 
} 
counter += 1; 

if (counter >2) { 
    counter = 0; 
} 
} 

도움을 주셔서 감사합니다.

[(UIButton *)sender setTitle:@"XXX" forState:UIControlStateNormal]; 

레이블이 직접이 버튼 논리에 의해 내부적으로 조작 있기 때문에 작동하지 않을 설정 :

답변

3

당신이 사용하고 싶습니다.

+0

+1 새 텍스트에 'UIControlStateHighlighted'를 설정하거나 버튼 텍스트가 사용자가 탭을 누르면 이전 텍스트로 변경됩니다. –

+0

감사합니다. 제안 된 변경 사항을 적용하고 카운터의 논리를 변경 한 후에 잘 작동합니다. –

+1

덧붙여, 버튼 만이 pressButton에 이벤트를 보내는 것을 알면, 첫 번째 인수를 직접 (UIButton *) 만들 수 있습니다. 일반 ID 일 필요는 없습니다. – ZaBlanc