2013-08-07 3 views
0

스토리 보드를 사용하는 테이블 뷰 앱에서 작업 중입니다. 테이블 뷰에 셀의 선택시 이벤트를 실시하고 싶습니다테이블 뷰에서 다른 뷰로 이동

따라서 셀 요소를 선택하면 다음 뷰 (상세보기)가

이어야 상세 정보를 표시 할 수 있습니다.

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
     self.dv = [[Detail alloc]initWithNibName:@"Detail" bundle:nil]; 


     dv.dic = [self.arr1 objectAtIndex:indexPath.row]; 


     [self presentViewController:dv animated:YES completion:nil]; 

} 

을 그리고 당신은 사용이 코드를 해제하려면 :

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    self.dv = [[Detail alloc]initWithNibName:@"Detail" bundle:nil]; 


    dv.dic = [self.arr1 objectAtIndex:indexPath.row]; 


    [self.view addSubview:dv.view]; 
} 
+1

[스토리 보드를 사용하여 테이블 뷰에서 하위 뷰를 추가하는 방법] (http://stackoverflow.com/questions/18075389/how-to-add-subview-in-table-view-using-story-board)) – occulus

+2

동일한 질문을 두 번 게시하지 마십시오. – occulus

+1

@ coculus hh;에 의해 붉은 손으로 잡힌) – null

답변

0

와의 ViewController 아이콘에서 SEGUE을 해제 버튼을 압둘라 제안 할 수 있지만, 구현할 수 있습니다 . 보기가 탐색 컨트롤러에 포함되어 있는지 확인하십시오. tableviewcontroller와 대상보기 컨트롤러 사이에 나타나는 화살표를 누르고 segue 식별자로 레이블을 지정했는지 확인하십시오. 그런 방법에서 확실하게 묘사하는 그들은 당신이 연구해야한다 정보의 큰 몸이 생각, if 문에 올바른 인덱스 경로를 선택했다되고 그건

[self performSegueWithIdentifier:@"theNameOfYourIdentifierFromTheStoryboard"]; 

물품.

읽어보기 : http://www.appcoda.com/use-storyboards-to-build-navigation-controller-and-table-view/ 시작하기.

1

대신에 이것을 시도

[self dismissViewControllerAnimated:YES completion:nil]; 
+0

그러면 SIGABRT 오류가 발생합니다. –

+1

어디에서 충돌이 발생합니까 (중단 점 사용)? –

+0

행을 선택하면 어떤 이벤트도 수행되지 않고 응용 프로그램이 다운됩니다 : ( –

1

당신은 탐색 컨트롤러를 사용해야하고 행을 선택할 때, 세부 사항을 밀어 그것으로보기.

내비게이션 컨트롤러를 만들려면 : tableview 컨트롤러를 선택하고/내비게이션 컨트롤러에있는 편집기/퍼브로 이동하십시오.

는 다음을 수행하십시오 당신은 스토리 보드를 사용하지 않는 경우

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 

{ 
    // dv = [Detail alloc] initWithNibName:@"Detail" bundle:nil]; 
    dv = [storyboard instantiateViewControllerWithIdentifier:@"DetailViewController"]; 
    dv.dic = [self.arr1 objectAtIndex:indexPath.row]; 
    [self.navigationController pushViewController:dv]; 
} 

주석으로 줄입니다.

또는 당신은 당신이 SEGUE하려는 다음의 ViewController에 대한보기의 맨 아래에있는 스토리 보드 드래그에서

[self dismissViewControllerAnimated:YES completion:nil]; 
+0

dv의 로컬 선언은 인스턴스 변수를 숨 깁니다. pls suggest me. –

+0

사용자가 행을 선택할 때 변수를 작성하는 대신 인스턴스 변수를 작성하지 않는 것이 좋습니다. 사용자가 행을 선택하지 않으면 인스턴스 변수 아직 생성되었지만 사용되지 않아서 이유없이 메모리에 사용됩니다. –

관련 문제