2012-03-07 2 views
2

지금은 내 스토리 보드에 테이블보기 컨트롤러를 푸시하는 UIButton 설정이 있습니다. 이것은 예상대로 작동합니다. 내가 뭘 하려는지 UIButton 누르면 XML 파일을로드하고 여전히 테이블 뷰 컨트롤러로 이동합니다.Xcode 4 테이블보기 컨트롤러로 UIButton을 밀어 넣으십시오.

어떻게하면됩니까? 나는 이미 XML 조각 코드를 가지고있다. 코드가 어디로 갈 것인지, 그리고 어떻게 새로운 ViewController 하위 클래스 012와 3 개의 파일을 추가 할 것인지 질문한다. UIViewController. 스토리 보드에서 생성 한 UIButton에 해당 파일을 어떻게 연결합니까?

답변

5

단추 연결을 새보기로 끌어서 밀어 넣기 또는 모달 대신 사용자 지정 단락을 선택하십시오.

enter image description here

변경 "mySegueClass1"또는 무엇도 당신이 그것을 호출하고 싶습니다에 새 사용자 정의 SEGUE의 클래스입니다. 그냥 사용자 정의 SEGUE에 할당으로

enter image description here

는 같은 이름으로 새 목표 - C 클래스를 만듭니다.

enter image description here

는 그런 다음 mySegueClass1.m 파일 내부에 다음 코드를 추가하고, 당신이하는 방법이있다 -(void)perform

-(void)perform{ 
    UIViewController *dst = [self destinationViewController]; 
    UIViewController *src = [self sourceViewController]; 
    [dst viewWillAppear:NO]; 
    [dst viewDidAppear:NO]; 


    [src.view addSubview:dst.view]; 

    CGRect original = dst.view.frame; 

    dst.view.frame = CGRectMake(dst.view.frame.origin.x, 0-dst.view.frame.size.height, dst.view.frame.size.width, dst.view.frame.size.height); 

    [UIView beginAnimations:nil context:nil]; 
    dst.view.frame = CGRectMake(original.origin.x, original.origin.y, original.size.height, original.size.width); 
    [UIView commitAnimations]; 

    [self performSelector:@selector(animationDone:) withObject:dst afterDelay:0.2f]; 
} 
- (void)animationDone:(id)vc{ 
    UIViewController *dst = (UIViewController*)vc; 
    UINavigationController *nav = [[self sourceViewController] navigationController]; 
    [nav popViewControllerAnimated:NO]; 
    [nav pushViewController:dst animated:NO]; 
} 
+0

저는 오늘이 코드를 구현할 수있는 기회를 가졌습니다 (아내는 아기를 가졌습니다). 그것은 완벽하게 작동합니다. 그런 철저한 답변을 할 시간을 내 주셔서 감사드립니다. – cmutchler

+0

아무런 문제가 없으며 축하합니다! –

3

원하는 무엇도 추가 작업 추가 :

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    //You can access the tableviewcontroller using segue.destinationViewController 
    //Maybe you want to set your model here. 
} 

라고 segue가 만들어지기 전에. 여기에서 필요한 모든 설정을 수행 할 수 있습니다. 이 메소드는 segue를 수행하는 컨트롤러 안에 배치해야하며 segue를 수신하는 컨트롤러는 배치하지 않아야합니다. (실제로, 아마도 xcode가 이미이 코드를 넣었을 것입니다.)

관련 문제