2012-04-11 2 views
3

글쎄, 내가 말했듯이 내 문제는 프로그래밍 방식으로 셀을 테이블 뷰에서 자동으로 수행 할 의도로 선택한다는 것입니다. . 관련된 tableviewcontroller의 viewWillAppear에서이 작업을 수행하는 코드가 있습니다.프로그래밍 방식으로 테이블 뷰에서 셀을 선택하면 관련 세그먼트가 수행되지 않습니다.

결과적으로 셀이 선택되지만 segue는 수행되지 않습니다. 왜 그런지 알아? 그런데 ...

을 순간으로

나는 문제를 해결하기 위해 viewWillAppear에 프로그래밍 SEGUE을 수행하고있어,하지만 난 셀이 선택되는 경우 SEGUE이 자동으로 수행되지 않는 이유에 대해 궁금 해요 . 셀을 선택하면 셀프가 올바르게 작동하기 때문에 세그 (segue)는 정상이어야합니다.

자세한 정보 : 저는 splitviewcontroller에서 일하고 있습니다. 왼쪽에는 tableviewcontroller가 있고 segue는 오른쪽에 viewcontroller를 표시합니다.

감사합니다.

카를로스

관련 코드 :

- (void) viewWillAppear:(BOOL)animated 
{ 
[super viewWillAppear:animated]; 

// Si no hay ninguna fila seleccionada, seleccionaremos la primera 

// Obtenemos la fila seleccionada 
NSIndexPath *filaSeleccionadaPath = [self.tableView indexPathForSelectedRow]; 

// Si no hay ninguna fila seleccionada 
if (!filaSeleccionadaPath) 
{ 
    NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0]; 
    [self.tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone]; 

} 

}

+0

코드 스 니펫이 필요합니까? –

+0

시도 했습니까 : [cell setSelected : YES animated : YES]; – CarlJ

+0

[cell setSelected : YES animated : YES]와 같은 결과입니다. – Carlos

답변

6

UITableView의 문서를 지정한다 :있는 tableView를받을 수있는 대리자를 발생하지 않습니다이 메서드를 호출

: willSelectRowAtIndexPath : 또는 tableView : didSelectRowAtIndexPath : 메시지 또는 UITableViewSelectionDidChang을 보냅니다. 옵저버에게 통보 통지.

따라서 어떤 동작도 트리거하지 않습니다. 단편을 사용하는 경우 UIViewController 클래스 (대부분 self)의 performSegueWithIdentifier:sender:을 사용할 수 있습니다. 식별자와 전송 요소 (셀일 가능성이 높음)를 지정할 수 있습니다.

+0

알았어. 고마워요! – Carlos

관련 문제