2011-02-05 6 views
0

이것이 확실한 응용 프로그램이지만 확실한 방법이 무엇인지 확실하지 않습니다. (그리고 이것은 모두 새로운 것입니다.) UITableViewController (모두 UITabViewController에서 실행)가있는 탐색 컨트롤러가 있습니다.UITableView와 상세보기로 이동

사용자가 행을 탭하면 앱이 상세보기로 이동합니다. 이제 왼쪽 및 오른쪽 스 와이프 제스처를 연결하여 이전 및 다음 레코드로 이동하려고합니다. 그러나 자세한 뷰 내에서이를 수행하는 올바른 방법은 무엇입니까? TableViewController로 다시 링크하는 것이 가장 쉬운 방법은 무엇입니까?

관련된 질문은 내비게이션 컨트롤러의 '뒤로'버튼과 동일한 동작으로 '풀다운'을 연결하는 방법입니다.

나는 위의 의미가되기를 바랍니다. 미리 감사드립니다.


저는 제가 좋아하는 방식으로 뭔가를하고 있지만 매우 어색합니다. DetailView를 호출 할 때 매개 변수로 'self'및 현재 'selectedRow'에 대한 포인터를 전달합니다. 그런 다음 스 와이프가 만들어지면 tabelViewController (포인터가 제공됨)에서 'moveToNextRecord'함수를 호출하고 selectedRow를 매개 변수로 사용합니다. tableViewController에서 나는 selectRowAtIndexPath와 didSelectRowAtIndexPath를 호출한다.

-(void)moveToNextRecord:(NSIndexPath*) selectedRow{ 
    //[self.navigationController popViewControllerAnimated:YES]; 
    //NSIndexPath *selectedRow = [self.tableView indexPathForSelectedRow]; 
    NSUInteger row = selectedRow.row; 
    NSUInteger section = selectedRow.section; 
    ++row; 
    if(row >= [self.tableView numberOfRowsInSection:selectedRow.section]) 
    { 
     row = 0; 
     ++section; 
     if(section >= [self.tableView numberOfSections]) 
     { 
      row = 0; 
      section = 0; 
     } 
    } 
    [self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:row inSection:section] animated:YES scrollPosition:UITableViewScrollPositionMiddle]; 
    [self tableView:self.tableView didSelectRowAtIndexPath:[NSIndexPath indexPathForRow:row inSection:section]]; 
} 

이 방법은 효과가있는 것으로 보입니다. 그러나 문제는 다음 레코드가 이전 레코드 다음에 삽입된다는 것입니다. 즉, 뒤로 버튼을 누르면 이전 레코드로 돌아가고 테이블보기로 되돌아 가지 않습니다. 그래서 나는 ViewController에게 그것들을 쌓고 싶지는 않지만 기본적으로 돌아가서 다음 행을 선택하고 하나의 detailView에서 바로 다음에 animation을 보여 주면서 말해야한다고 생각합니다. 그게 말이 되니?

([self.navigationController popViewControllerAnimated : YES]. 제 소설이 적절한 흐름을 수행하지 작동하지 않는 한) 사용자가 제스처를 인식하면

답변

0

PageControl 솔루션으로 옮겨 가고 있습니다. 실제로 사용자가 문지르는 동시에 페이지가 실제로 이동하므로 사용자 환경이 훨씬 향상되었습니다. 위의 제안을 통해 필자는 '뒤로'버튼을 오버라이드해야하고, 오른쪽 슬쩍을 할 때 왼쪽에서 오른쪽으로 전환 할 수 있도록 ViewController 스택을 수동으로 채 웁니다 (슬쩍이 완료 될 때만 발생합니다).)

0

을 상세도에서, 만약 호출

[self.navigationController popViewControllerAnimated:YES];

이렇게하면 뒤로 이동합니다.

+0

고마워요! tableView 통해 탐색에 어떤 생각? 나는 전혀 작동하지 않습니다. –

+0

정확히 무엇을 의미합니까? 당신이하고 싶은 것을 자세하게 설명하십시오. – viggio24

+0

감사합니다. 이후로 몇 가지 진전을 보았습니다. 위 코드를 편집하여 보여 드리겠습니다. –

관련 문제