질문에 대한 자세한 내용은 약간 밝지 만 물어볼 수 있습니다. 탭에서 셀이 선택되었을 때 코드에서 결정 했습니까?
즉. 탭이 발생할 때 발생하는 메서드에서 테이블 뷰를 쿼리하여 탭이 발생한 셀을 확인하고이를 통해 prepareForSegue 메서드에서 전달해야하는 코드를 확인할 수 있습니다.
예를 들어 아래에서이 방법을 사용하여 어떤 셀을 탭했는지 확인하고 해당 셀의 텍스트 필드에 대해 키보드를 표시합니다. 이 탭을 쉽게 적용하여 어느 셀을 탭했는지를 저장 한 다음 prepareForSegue에서 사용하여 올바른 데이터를 보낼 수 있습니다.
희망이 당신이 찾고있는 것입니다. 그래도 당신의 질문에서 꽤 말할 수 없다!
- (void) tapDetected:(UIGestureRecognizer*)sender
{
// get location of tap
CGPoint tapLocation = [sender locationInView:self.tableView];
// Query tableview and get location of cell
NSIndexPath *idp = [self.tableView indexPathForRowAtPoint:tapLocation];
// Now get the actual cell
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:idp];
// Get handle on text field
UITextField *textField = (UITextField *)[cell viewWithTag:1];
// Bring up keyboard for that textfield.
[textField becomeFirstResponder];
}
왜 UITapGestureRecognier를 사용하고 있습니까? UITableView가 작업을 수행하고 선택을 처리하고 상세 뷰로 푸시하는 이유는 무엇입니까? –
제스처가 두 개의 서로 다른보기 컨트롤러에 대한 세그 (segue)를 인식하는 각 셀에 두 개의 레이블이 있습니다. – mnort9
그 레이아웃을 정확히 알지 못하고 확신 할 수는 없지만 나쁜 생각과 매우 친숙하지 않은 느낌이 들었다. 문제를 해결하려면 tapGesture 선택기의 코드를 확인해야합니다. –