2012-09-13 3 views
0

내 보편적 인 응용 프로그램에는 처음에는 마스터 세부 사항이 있습니다. iPad에서는 분할보기로 표시되며 인터페이스 방향을 변경하면 자동 크기 조정이 올바르게 작동합니다. 그러나 iPhone에서는 세부적인보기에는 충분하지 않습니다. 그래서 정확히 동일한 기능을 가지고 있어야 내 DetailViewController에 대한 두 가지 다른보기를 갖고 싶어,하지만 난 정말 제대로 작동하도록 얻을 수 없습니다. 나는 두 개의 뷰 컨트롤러를 사용하려고 시도했지만, 실제로 그렇게하지는 않았다. 나는 스토리 보드를 사용하고 있습니다.iOS : 스토리 보드에서 가로보기와 세로보기를 전환하는 방법은 무엇인가요?

내 DetailViewController에 두 개의 뷰를 추가하여 해결책을 찾았다 고 생각했습니다. 그 때 나는 단순히 현재의 방향을 확인하고이 같은 최근보기 설정 :

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

    Video *currentVideo = [[self.xmlParser videos] objectAtIndex:indexPath.row]; 

    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) 
     [self.detailViewController setDetailItem:currentVideo]; 
    else { 

     if (!self.detailViewController) { 

      DetailViewController *nextController = [self.storyboard instantiateViewControllerWithIdentifier:@"Detail"]; 
      if ([UIDevice currentDevice].orientation == UIDeviceOrientationPortrait) 
       [nextController setView:nextController.portraitView]; 
      else 
       [nextController setView:nextController.landscapeView]; 
      [nextController setDetailItem:currentVideo]; 
      [self.navigationController pushViewController:nextController animated:YES]; 
     }   
    } 
} 

이 그것을해야처럼 작동,하지만 지금은 또 다른 문제에 직면 해있다. 두 개의 뷰에는 정확히 동일한 콘센트가 포함되어 있지만 어느 하나의 콘센트 만 내 DetailViewController 클래스에 연결할 수 있습니다. 따라서 방향 중 하나에서 내용을 제대로 볼 수 없거나 피하려는 모든 것을 두 번 코딩해야합니다.

이 문제를 어떻게 해결할 수 있는지 아이디어가 있습니까? 사전

답변

1

당신은 스토리 보드에서 뷰 컨트롤러에 컨테이너 내부보기 두 가지보기를 추가하는 시도 할 수있는

감사합니다. 하나는 초상화, 다른 하나는 풍경입니다. 필요로하는 모든보기에 필요한 모든 컨트롤을 추가하십시오. 방향이 바뀌면 하나를 감추고 다른 방향을 보여줍니다.

+0

나는 그것을 시도했지만 실제로 작동시키지 못했습니다. 처음에로드 된 세 번째보기를 유지 한 다음 오리엔테이션에 따라 사용자 정의보기를 추가해야합니까? – Bautzi89

+0

둘 다 컨테이너보기에 배치하거나 컨트롤러 중 하나의 '보기'콘센트 및 'portraitView'콘센트에 바인드 할 수 있습니다 (다른보기는이 시나리오에서 'landscapeView'에 바인드 됨). 컨테이너보기를 사용하지 않는 경우,보기를 숨기거나 표시하는 대신 방향이 변경 될 때 컨트롤러의 '보기'콘센트에 바인딩 된보기를 전환해야합니다. –

+0

빠른 답변을 보내 주셔서 감사합니다. 하지만 지금은 새로운 문제에 직면하고 있습니다. 편집 한 질문을 확인해 주시겠습니까? – Bautzi89

관련 문제