어떤 버튼을 눌렀는지 감지 할 수 있기를 원합니다. 단추를 눌렀을 때 자동으로 호출 될 수있는 UIButton 클래스 메서드가 있는지 궁금합니다.이 메서드는 눌려진 단추의 텍스트 나 태그를 찾아서 변수에 전달할 수 있습니까? 또는 동일한 객관적 - c 이벤트 방법?어떤 버튼을 눌렀는지 감지
이 주제가 전에 게시 된 적이 있습니다.
.H 파일
- (IBAction)buttonClicked:(UIButton *)sender;
에서하는 .m 파일에서 나는 또한의 buttonPressed 같은 이름을 가진 다른 예를 보았다
- (IBAction)buttonPressed:(UIButton *)sender{
// Do something her to display which button pressed
}
: 일반적인 응답이 해결책이 될 것이라는 점을 것으로 보인다 , onButtonTao 등
그래서이 메서드는 각 버튼에서 호출되어야한다고 가정합니다. 그러나,이 작동하지 않습니다, xcode 하나 이상의 단추를 동일한 메서드를 할당 할 때 불평. 스택에서 여기에 게시
다음의 예
, 프로그래밍 방식으로 동일한 작업을 사용하지만 :for(int i = 0; i < 5; i++) {
UIButton* aButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[aButton setTag:i];
[aButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
[aView addSubview:aButton];
}
// then ...
- (void)buttonClicked:(UIButton*)button
{
NSLog(@"Button %ld clicked.", (long int)[button tag]);
}
그래서, 내가 여기에 놓친 거지 무엇을, 왜 Xcode의 여러 버튼에 같은 방법으로 동의하지 않는 이유는 무엇입니까? 그리고 각각의 버튼에 특정 동작을 연결하지 않고 어떤 버튼이 눌러 졌는지 탐지하는 다른 방법이 있습니까?
Xcode는 어떤 방식으로 신고합니까? – Wain
여러 액션을 동일한 액션 메소드에 연결하는 것이 가장 확실합니다. 문제에 대해 더 구체적으로 설명해야합니다. –