2009-10-30 2 views
0

nib 파일이있는 2 개의보기 사이에서 전환보기에 문제가 있습니다! 여기 내 코드 . 첫 페이지가 2 페이지로 이동합니다! 하지만 2 페이지에서 저는 첫 페이지로 돌아갈 수 없습니다! 페이지 1iPhone 스위치보기 _ 킬! 문제

2 :

#import "HafezViewController.h" 
#import "GhazaliateHafez.h" 


-(IBAction)gh:(id)sender { 
    HafezViewController *ghPage = [[HafezViewController alloc] initWithNibName: @"GhazaliateHafez" bundle:nil]; 
    [UIView beginAnimations:nil context:NULL]; 
    [UIView setAnimationDuration:1.3]; 
    [UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.view cache:YES]; 
    [self.view addSubview:ghPage.view]; 
    [UIView commitAnimations]; 
} 

^^^^^^^^^ 이 코드는 위대한 작품을 내 응용 프로그램 나가서 ... 여기 내 코드입니다! 하지만 2 페이지에서이 백업 할 :

#import "GhazaliateHafez.h" 
#import "HafezViewController.h" 

@implementation GhazaliateHafez 


-(IBAction)ghtoIndex:(id)sender { 
    HafezViewController *back1 = [[HafezViewController alloc] initWithNibName:@"index" bundle:nil]; 
    [UIView beginAnimations:nil context:NULL]; 
    [UIView setAnimationDuration:1.5]; 
    [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES]; 
    [self.view addSubview:back1.view]; 
    [UIView commitAnimations]; 

} 

후 난 뒤로 버튼이 내 응용 프로그램이 충돌로 이동 탭 ... 뭐죠 내 문제? 난 당신이 악기를 통해이를 실행할 수 있습니다 생각

: 당신에게 방법에 당신을 도울 수

+0

난 강력하게 당신이 코드의 형식을 해결하기 위해 귀하의 게시물을 수정하는 것이 좋습니다. 현재 상태에서 읽기가 매우 어렵습니다. –

+0

고정 !!!!!!! – Momi

답변

1

view1에 view2를 추가 한 다음 view1을 view2에 다시 추가하고 있습니다. View2를 완료하면 간단한 호출 self.view.removeFromSuperview과 뷰 1이 다시 표시됩니다.

사실, 다시보고, 당신이보기를 보여 presentModalViewController에서 볼 수도 있습니다 것 같다 2.

+0

그래서이 줄을 변경해야합니다. [self.view addSubview : back1.view]; this : : [self.view.removeFromSuperview]; – Momi

0

두 의견을 주셔서 감사합니다. 기억이 새는거야? 당신은 클릭 할 때마다 하나씩보기를 할당하고 있습니다. 그리고 캐싱을하면 ... 당신이 그들을 풀어주고 있습니까?

배열과 같이 별도로 존재하는 두 개의 뷰를 갖는 것이 더 쉬울 수 있습니까? 예를 들어, 배열에서 활성 상태로 만들려는 인덱스를 인덱싱하고 다른 애니메이션을 릴리스 및 숨기면서 위의 애니메이션 루프로 래핑하는 것이 더 쉬울까요? 릴리즈가 쓰레기 통제가되어 다른 뷰를 지휘하는 방법을 모르겠지만 ... 할 수있는 방법이 있다는 것을 압니다.


myGroovySubview.hidden = YES;

And this is from a post from earlier that helped me when I was asking how to remove a subview immediately:

보기를 숨긴다. [myGroovySubview removeFromSuperview]를 사용하여 수퍼 뷰에서 제거 할 수도 있습니다.

superview에서 제거한 경우 릴리스 호출은 해당 호출 후에 참조 횟수가 0이어야하므로 자동으로 메모리에서 제거해야합니다.

+0

to marc :이 줄을 변경해야합니다. [self.view addSubview : back1.view]; 이에 ? : [self.view.removeFromSuperview]; ?? – Momi

+0

보기로 시작 1. 하위보기 추가 2. 하위보기 2를 완료하면 수퍼보기에서 제거하십시오. 당신은 하위 뷰 1로 남아 있습니다. 코드에서 addSubview ...와 함께 뷰 2를 추가하면 removeFormSuperview로 뷰 2를 제거합니다 ... – Spanky

+0

감사합니다 ...하지만 올바른 코드를 작성할 수 있습니까? 아마추어 오전 : ( – Momi