Jeff가 대답을 추가하면 버튼을 클릭 할 때 논리를 배치하기 위해 다른 버튼을 활성화해야한다고 생각합니다. 당신의 코드로 버튼을 생성하기 위해
:
- (BOOL)alertViewShouldEnableFirstOtherButton:(UIAlertView *)alertView
{
return YES;
}
:
- (IBAction)button1
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Hello"
message:@"Do you like smoking?"
delegate:self
cancelButtonTitle:@"Yes"
otherButtonTitles:@"No", nil];
[alert show];
}
그러나 클릭되는 버튼을 아는 전에,이 대리자 메서드를 호출하여 첫 번째 다른 버튼을 활성화해야
사용자가 만든 NO 버튼이 활성화됩니다.그러면 clickedButtonAtIndex 메서드로 일부 논리를 수행 할 수있게 될 것입니다.
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
if (buttonIndex == 0) {
// i love smoking!
} else if (buttonIndex == 1) {
// i hate smoking!
}
}
이 헤더 클래스의 UIAlertViewDelegate를 선언해야합니다 :
는 UIAlertView의 대리자 메서드를 구현합니다.
alertViewShouldEnableFirstOtherButton : 메서드가 YES를 반환하는지 확인하십시오. 그렇지 않으면 버튼을 눌렀을 때 논리를 입력 할 수 없습니다.
희망이 도움이됩니다. :)
대리인 메서드입니다. – Larme