UIViewController
에 컨테이너보기를 구현 한 다음 UITableViewController
을 배치했습니다. 이 테이블에는 UITextField
쌍이 포함 된 정적 행이 들어 있습니다. 이제 사용자가 텍스트 필드 중 하나가 첫 번째 응답자 일 때 키보드의 반환 키를 눌렀을 때를 감지하려고합니다. 포함 된보기 컨트롤러에서 테이블보기 컨트롤러가 아닙니다. 이것이 가능한가, 아니면 객체에 컨트롤러가 있다는 것을 아는 것만 가능합니까?보기 컨트롤러가 포함 된 UITextFieldDelegate
이 작업을 시도했지만 textFieldShouldReturn
이 호출되지 않았습니다. 보기 컨트롤러의 .h 파일에서 UITextFieldDelegate
을 준수하면 textFieldShouldReturn
을 구현하고 텍스트 필드에 delegate
을 설정하려면 prepareForSegue
의 컨테이너보기에 대한 참조를 얻은 다음 해당 텍스트 필드에 대해 self
으로 설정하십시오. (그들이 포함하는 컨트롤러에 액세스 할 수 있도록 내가 그들을 공개했다.) 나는 키보드에 돌아 쳤을 때
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"Show Container View"]) {
if ([segue.destinationViewController isKindOfClass:[ContainerTableViewController class]]) {
self.ctvc = segue.destinationViewController;
self.ctvc.firstTextField.delegate = self;
self.ctvc.secondTextField.delegate = self;
}
}
}
이 왜 호출되지 textFieldShouldReturn
입니까?