2013-09-05 2 views
0

시나리오 : 연락처를 삭제하기 위해 iPhone의 연락처 북 앱과 비슷한 것을 구현하려고합니다. iPhone의 주소록 앱에서 연락처를 삭제하려면 '모든 연락처'화면으로 이동하여 연락처 (예 : '테스트 삭제')를 클릭 한 다음 '수정'버튼을 클릭하고 아래쪽으로 스크롤하여 '삭제'버튼. '삭제'버튼을 클릭하면 '삭제'및 '취소'버튼이있는 UIActionSheet가 표시되고 '삭제'를 클릭하여 연락처를 삭제할 수 있으며 주소록 앱은 '모든 연락처'장면으로 자동 복귀합니다.UIActionSheet에서 전환을 처리하는 방법

문제 :

UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:@"Delete" otherButtonTitles:nil]; 

및 대리자 추가 :

- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex { 
NSLog(@"actionSheet is called: clicked button - %ld, %@", (long)buttonIndex, [self.parentViewController description]); } 

이 모든 확인 작업을 내 응용 프로그램에서 나는 UIActionSheet를 시작하기 위해 '삭제'버튼 코드를 추가 . 주소록 앱과 마찬가지로 '편집'장면에서 항목을 제거하고이 '편집'장면에서 '전체 항목'장면으로 전환하고 편집중인 항목을 '전체 항목 장면. 전환을 어떻게 수행해야할지 모르겠습니다. 문제가 있습니다.

질문 : 어떻게 대리인 (또는 다른 것) 내 응용 프로그램이 바로 '편집'장면 다시 '모든 연락처'장면 전환 아이폰의 연락처 응용 프로그램처럼 동작하도록 구현하는 방법?

의견이 있으십니까?

답변

0

는이 작동하지 않았다 코드를

- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex 
{ 
    if (buttonIndex == actionSheet.destructiveButtonIndex) /// here you can get destructiveButton tapped 
    { 
     [self.navigationController popToRootViewControllerAnimated:YES]; // and got to previous viewController; 
    } 
} 
+0

을 다음과 같이하십시오. – user2734952

+0

편집중인 항목의 키를 '모든 항목'장면으로 되돌려 보내야 모든 항목 목록에서 삭제할 수 있습니다. – user2734952

+0

iPatel의 코드가 작동하지 않는 이유 중 하나는 '편집'장면이 모달이므로 루트보기 컨트롤러가 연결되어 있지 않기 때문입니다. 여기에는 3 가지 장면이 포함됩니다. 1). 모든 연락처; 2). 연락처를 표시하십시오. 삼). 연락처 편집. 이제 삭제하려면 '연락처 편집'에서 '모든 연락처'로 이동해야합니다 (또한 연락처도 삭제). – user2734952