나는 객관적인 C와 XCode 4.2로 아이폰 개발을 처음 사용한다. 지금은 성공적으로 UITableViewController를 인스턴스화하고 다중 레벨 json 데이터 트리를 탐색 할 수 있습니다. 그러나 리프 페이지의 UI를 설정하는 데 문제가 있습니다. 내가 지금까지 당신에게 코드의 조각을 보여주지 :iphone uiviewcontroller not displayed?
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView deselectRowAtIndexPath:indexPath animated:YES];
int row = [indexPath row];
NSString * currentrow = [NSString stringWithFormat:@"%d.",row];
NSDictionary * item = [dataArray objectForKey:currentrow];
NSDictionary * children = [item objectForKey:@"children"];
if(children != nil)
{
uinavTableViewController *childView = [[uinavTableViewController alloc] init];
childView.dataArray = children;
[self.navigationController pushViewController:childView animated:YES];
}
else
{
uinavMenuItem * childView = [[uinavMenuItem alloc] init];
//uinavSecondViewController * childView = [[uinavSecondViewController alloc] init];
[self.navigationController pushViewController:childView animated:YES];
}
}
그래서의 첫 번째 부분은 아이 노드가있는 경우 그래서 다른 uinavTableViewController을 만드는 경우 문이 확인됩니다. 이 부분은 완벽하게 작동합니다.
else 문은 uinavMenuItem을 사용하여 리프 페이지를 만듭니다. 시뮬레이터에서 이것을 실행하면 리프 페이지는 검은 색 화면에 불과합니다. 내 NSLog에서 보았고 uinavMenuItem viewDidLoad가 시작되었는지 확인할 수 있습니다. 그래서 컨트롤러 코드는 정상적으로 작동하지만 스토리 보드에 그려진 뷰에 연결하는 방법을 모르겠습니다.
내가 storyboarD에서 그린 것을 uinavMenuItem이 표시하지 못하게하는 것은 무엇을 잘못하고 있습니까?
감사합니다. "보기 컨트롤러의 속성 아래에서 스토리 보드의 식별자를 정의 하시겠습니까?" Xcode 패널을 둘러 보았지만 명확히하기 위해 instantiateViewContollerWithIdentifier – John
과 같은 이미지를 찾아 낼 수 없습니다. – Morrowless
알았어, 나는 식별자를 만들었다. 그리고 나서 다음과 같이 else 문을 대체했습니다 :'uinavMenuItem * childView = [self.storyboard instantiateViewControllerWithIdentifier : @ "menuleafsegue"]; [self.navigationController pushViewController : childView animated : YES];'올바른 줄을 따라 왔습니까? 지금 시뮬레이터는 내 uinavMenuItem에 가지 않습니다. – John