2013-04-15 5 views
2

WWDC 2012 "응용 프로그램의 스토리 보드 채택"비디오에서 설명한대로 컨테이너보기로 IB/스토리 보드 (컨테이너를 어떻게 호출하는지 모름)를 사용하려고합니다. 모든 것이 잘 동작 합니다만, 약간의 흐름을 변경하고 싶다는 점을 제외하고는. 나는 이벤트와 함께 embed segue를 수행하고 싶다. 어떤 코드 라인없이 가능합니까?이벤트에 컨테이너보기 표시

정말 기본적인 것처럼 보이지만 (버튼을 터치하면 자식보기 컨트롤러가 까다로운 케이스가되지 않습니다) 그래서 나는 거기에있을 수 있지만 그것을 찾을 수 없다고 생각합니다.

+0

삽입 시드가 즉시 발생합니다. 왜 버튼을 만질 때까지보기를 숨기지 않을까요? –

+0

만약 내가 할 필요가, 나는 버튼을 만졌을 때 코드에 의해 자식보기 컨트롤러를 추가하는 것이 좋습니다. – LiohAu

답변

3

임베디드 컨트롤러는 메인 컨트롤러와 동시에 인스턴스화 할 것입니다,하지만 당신은 다음, IB의 임베디드 컨트롤러의보기를 숨길하여 버튼의 액션 메소드에 표시 할 수 있습니다 :

-(IBAction)makeVisible:(id)sender { 

    [self.childViewControllers[0] view].hidden = NO; 
} 

대신하는 경우 이벤트에 대한 응답으로 하위보기 컨트롤러를 추가하려는 경우 다음과 같은 코드로 추가 할 수 있습니다.

UIViewController *child = [self.storyboard instantiateViewControllerWithIdentifier:@"Child"]; 
    [self addChildViewController:child]; 
    [child didMoveToParentViewController:self]; 
    child.view.frame = CGRectMake(50, 50, 150, 150); 
    [self.view addSubview:child.view]; 
+0

다른 방법이 있습니까? 이 하나는 좀 못생긴 것 같아요 또한 코드를 필요로하므로 코드로 버튼을 터치 할 때 하위 뷰 컨트롤러를 추가하여 뭔가 더 예쁘게 할 수 있습니다. 이렇게하면 숨겨진 속성으로 재생되지 않습니다. embed segue는 내가 만질 때 수행 할 수있는 custom segue가 될 수 없으며, 이는 child VC를 보여 주도록 사용될 수 있습니다. – LiohAu

+0

@LiohAu, 물론 코드로 하위보기 컨트롤러를 추가 할 수는 있지만 질문에서 코드를 피하고자하는 것처럼 보였습니다. 따라서이 방법은 최소한의 코드를 사용합니다. 나는 당신이 코드에서 어떻게하는지 보여주는 나의 대답을 업데이트했다. – rdelmar

관련 문제