내 제목은 clickedButtonAtIndex
위임 방법은 심지어 UIActionSheet의 밖에서 탭을 호출했다.
UIButton
을 누르면 내 actionSheet가 표시됩니다. 코드 : UIActionSheet
선언. clickedButtonAtIndex 메쏘드가 왜 UIActionSheet의 외측을 두드리는 호출입니까?
-(void)btnComplexityTapped:(UIButton *) sender
{
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Select your complexity" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Easy", @"Medium", @"High", nil];
[actionSheet showFromRect:sender.frame inView:self.view animated:YES];
[actionSheet release];
}
위임 방법에
은- (void)actionSheet:(UIActionSheet *)myActionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
if(buttonIndex == 0)
{
[self.btnComplexity setTitle:@"Easy" forState:UIControlStateNormal];
}
else if(buttonIndex == 1)
{
[self.btnComplexity setTitle:@"Medium" forState:UIControlStateNormal];
}
else
{
[self.btnComplexity setTitle:@"High" forState:UIControlStateNormal];
}
}
나는이 문제는 else
대신 else if(buttonIndex == 1)
을 설정하는 대리자 메서드에서 설정 한 마지막 조건에 의해 수정되는 것을 알고있다. 그러나 나는 어떤 고정을 적용하지 않고 위임 방법도 좀 더 명확한 그림이 비디오를 참조하십시오 UIActionSheet
의 버튼을 눌러 있지 않다라고 왜 을 알고 싶어요. 버튼의 비디오 기본 제목 이상으로
는 방법 clickedButtonAtIndex
을 위임 (예 : self.view
같은) 내가 버튼을 클릭 한 후 actionSheet이 열려 나는 actionSheet 중 쪽을 클릭 할 때 "중간"그래서 마지막이라고 else
조건이 사실이되고 내 단추의 제목이 "높음"으로 변경됩니다.
왜 어떤 상황이 발생했는지 알 수 있습니까?