2009-11-02 8 views
0

편집 할 때 해당 행의 데이터를 편집하기 위해 다른보기 (View1)로 변경하려는 TableView가 있습니다. 편집이 사실이 아니라면 didSelectRowAtIndexPath를 사용하여 선택한 행에서 정보를로드하는 다른보기 (View2)로 변경합니다.Iphone Tableview 편집시 다른보기로 변경

예를 들어, 내장 시계 선택 알람으로 이동하여 편집을 선택한 다음 알람을 선택하면 (적어도 하나만 있다고 가정) 편집중인 경우에만 알람 화면으로 변경됩니다 .

제 질문은 편집하는 동안 어떻게이 기능을 복제합니까?

+0

@ user201094 편집 모드에서 셀을 만들 때와 셀 편집, 테이블의 내용을 가진 컨트롤러를 볼 수 있도록 이동합니다. 예를 들어 미리 알림을 저장 한 다음 기본보기 (메뉴)로 돌아갈 경우 저장 한 미리보기를 보려면 컨트롤러가 있습니다. 편집, 그 특정 알림을 저장 한보기 컨트롤러가 편집을 위해 표시되어야합니다. 사전에 감사드립니다. –

답변

0

현재 편집 모드에 있는지 여부를 추적 할 수 있습니다. 편집 버튼을 클릭하면 편집 모드가되고, 취소를 클릭하면 편집 모드에서 빠져 나옵니다.

편집 모드로 들어가면 취소 버튼을 사용하여 탐색 모음에서 다른 탐색 항목을 누르면 편집 모드를 종료하면 탐색 항목이 팝업됩니다.

세포는 편집 모드에 있는지 여부에 따라 다른 내용으로 표시 될 수 있습니다. 편집 모드에서 또는 테이블 데이터를 다시로드 할 때 다른 화면이 표시됩니다.

didSelectRowAtIndexPath는 편집 모드에 있는지 여부에 따라 다른 동작을 할 수 있습니다. 편집 모드에서 셀을 클릭하면 편집보기가 표시되고 편집 모드가 아닌 경우 View2로 변경됩니다. 사용자가 셀을 스 와이프하면

tableView:willBeginEditingRowAtIndexPath: 

이 방법은 사용자에게 알립니다 : 당신의 UITableViewDelegate에서

+0

내 진짜 질문은 내가 편집 할 수 있음을 어떻게 알 수 있습니까? 알아 낸다. –

+0

동일한 뷰에서 컨텐츠를 변경하는 것과 비슷한 일을하고, 표시 할 컨텐츠를 결정하기 위해 여러 뷰의 경우 BOOL 만 사용하거나 여러 뷰의 경우 NSInteger를 사용합니다. – jan

1

는 선택 방법이있다. 당신이 사용할 수있는 어떤 다른 방법 (예 : 버튼 누름)를 통해 편집 모드에 알고 : 당신이 UITableViewCellEditingStyle을 반환해야

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath { 
    NSLog(@"Editing"); 
    isEditing = YES;   

    return UITableViewCellEditingStyleDelete; 
} 

참고 대부분의 경우이 UITableViewCellEditingStyleDelete 될 것입니다. 또한 당신이 사용할 수있는 당신은 단지 당신이 (통지를받은 반대) 편집 모드에 있는지 확인하려면, 그래서 이것은 각 셀에 대해 호출됩니다 참고 :

[tableView isEditing] 
+0

감사합니다. 제가 놓친 부분입니다. [tableView isEditing]을 사용하여 행 선택에 따라 화면을 결정했습니다. –

관련 문제