2010-03-10 5 views
0

나는 인앱 기능을 사용하는 앱이 있습니다. 위의 방법은 내가 모든 파단을 제거하고 내 주 메뉴 창 (내 앱의 첫 번째보기)에 다시 가고 싶어 호출되는하위보기에서보기를 제거합니다.

-(void) completeTransaction: (skPaymenttransaction *)transaction{ 



} 

.

누구나 가장 깨끗하고 좋은 방법을 제안 할 수 있습니까?

건배

편집 :

그냥 만들 것을 분명이 차이를 만드는하지만 난 후 스피가 엔터로 다음을 수행, 내 메인 메뉴 화면이있는 경우

임 확실하지 단추.

UIViewController *controller = [[UIViewController alloc] initWithNibName:@"NibFile" bundle:nil]; 
controller.delegate = self; 
controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
[self presentModalViewController:controller animated:YES]; 
[controller release]; 

는 그때 사용자가 탭들 다음 버튼으로 메인 화면을 가지고, 그 다음에 상기와 다른 모달 뷰 컨트롤러들을 나타낸다. 이 뷰에는 BUY라는 버튼이 있습니다. 그들은 클릭 수를 사용하고 나서 StoreKit이 업무를 처리하고 결제가 완료되면 위의 두 모달 컨트롤러를 제거하고 주 메뉴 화면으로 남겨두고 싶습니다.

어떤 아이디어가 ..

편집 위와 같이 시도 필자 2 :

@Jordan 감사,

그러나 메신저가 제대로 이렇게 있는지 확실하지 않습니다. 위의 코드를 이해합니다.

하지만 내 응용 프로그램을 시작할 때 내 응용 프로그램 대리인이 내 주 메뉴 인 viewcontroller를로드합니다. 그런 다음 다른보기로 이동하는 단추가 있고 사용자가 잠금을 해제 한 기능을 클릭하면 저장소가있는 다른보기 컨트롤러가 표시됩니다.

이렇게 염두에두고 어떻게 내 메인 메뉴로 돌아갈 수 있습니까? 예상

':'의 라인을 따라

NSArray *subviews = [myAppdelegate.viewcontroller.view subviews]; 
for (int i=0; i<[subviews count]; i++) 
{ 
    [[subviews objectAtIndex:i] removeFromSuperview]; 
} 

하지만 난 얻을 오류 :

나는 다음과 같은 노력했다 '.'전 ?

답변

1

이렇게하면됩니다.

// view is equal to your main view  
NSArray *subviews = [view subviews]; 
for (int i=0; i<[subviews count]; i++) 
{ 
    [[subviews objectAtIndex:i] removeFromSuperview]; 
} 
+3

한 라이너 '[makeObjectsPerformSelector view.subviews : @ 선택기 (removeFromSuperview)];' – kennytm

0

것은 당신이 (그들은 다른) 파단 UIViewControllers에 대해 이야기하고하지 않는 경우에, 당신은 사용할 수 있습니다

[self.navigationController popToRootViewControllerAnimated:YES]; 

을 당신이 중 하나의 UIViewController에 UIViews을 추가하고,이 경우 사용 내 위 코드 또는 UIViewController 상단에있는 pushView (예 : pushViewController)입니다.이 경우 코드를 사용하십시오.

0

은 우리가 열거 의해 모두 제거 할 수 있도록보기가 배열 제거 할 가야

NSArray *ChildViews = [ParentView subviews]; 
for (UIView *childView in ChildViews) { 
    [childView removeFromSuperview]; 
}