2011-02-09 5 views
0

5 개의 버튼이있는보기가 있습니다. 각 단추를 누를 때 UIActionSheetDelegate 메서드가 호출됩니다. - (void) actionSheet : (UIActionSheet *) actionSheet clickedButtonAtIndex : (NSInteger) buttonIndex동일한 UIActionSheetDelegate 메서드를 사용하는 여러 버튼

각 단추 태그 속성은 0-4로 설정되어 있습니다. 대리자 메서드를 사용하여 어떤 button.tag를 보냈는지 확인하는 데 어려움을 겪고 있습니다. 액션 시트에 전달 된 sender.tag 정보가 메소드를 위임합니까?

대리자 메서드에 대해 나는 어떤 단추가 작업 시트에서 눌렀는지 확인하기 위해 case 문을 사용하며 if 문을 사용하여 sender.tag == 0 등을 결정합니다. 이 시점에서 약간 혼란스럽고 가능하다면 약간의 도움이 필요합니다.

항상 감사드립니다.

답변

1

T 당신은 어떤 버튼이 눌러 졌는지 actionSheet:clickedButtonAtIndex:에 전달되는 buttonIndex 사용합니다. 버튼의 색인은 0부터 시작합니다.

+0

응답 해 주셔서 감사합니다. 예 대리자 메서드에서 단추 인덱스를 처리하는 case 문이 있지만 실행할 case 문을 알기 위해 sender.tag (UIButton)가 필요합니다.이 경우 대리자 프로토콜은 단추가 아닌 단추를 알 필요가 있습니다. 액션 시트)를 눌렀습니다. 나는 ActionSheet가있는 5 개의 UIButton을 가지고있다. 따라서 대리자 메서드는 어떤 UIButton을 눌렀는지 알 필요가 있습니다. 내가 충분히 명확하게 설명했으면 좋겠다. 감사합니다 – tg2007

+0

나는 당신의 문제를 오해했다고 생각합니다. 그래서 당신은 5 개의'UIButtons'을 가지고 있고 그것들 각각을 두드리는 것은 같은 행동 시트를 가져옵니다. 액션 시트의 버튼을 탭하면 a) 액션 시트의 어떤 버튼을 눌렀는지와 b) 어떤 UIButton이 액션 시트를 시작했는지 알고 싶습니다. 맞습니까, 아니면 아직도 혼란 스럽습니까? –

관련 문제