Iphone 从子视图中删除视图

Iphone 从子视图中删除视图,iphone,uiviewcontroller,subview,Iphone,Uiviewcontroller,Subview,我有一个使用应用程序内功能的应用程序 -(void) completeTransaction: (skPaymenttransaction *)transaction{ } 当调用上述方法时,我想删除所有子视图并返回主菜单窗口(我应用程序中的第一个视图) 有谁能建议一种最干净、最好的方法来做到这一点 干杯 编辑: 我只是想说清楚 我不确定这是否有区别,但我有我的主菜单屏幕,然后我做了一个进入按钮以下 UIViewController *controller = [[UIViewContr

我有一个使用应用程序内功能的应用程序

-(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];
然后我有一个带有按钮的主屏幕,当用户点击它时,它会向他们显示另一个模态视图控制器,如上所述。在这个视图上有一个按钮,上面写着购买。他们使用点击这个,然后StoreKit做它的生意,一旦付款完成,我想摆脱上面的两个模态控制器,留在主菜单屏幕上

有什么想法吗。。我已经试过了

编辑2:

@乔丹,谢谢

但不确定我是否做得对。我理解上面的代码

但当我启动我的应用程序时,我的应用程序代理会加载一个viewcontroller,它是我的主菜单。然后,我有一个按钮,将我带到另一个视图,在该视图上显示我的功能。如果用户单击未解锁的功能,则它将显示另一个打开存储的视图控制器

因此,记住这一点,我如何回到我的主菜单

我尝试了以下方法:

NSArray *subviews = [myAppdelegate.viewcontroller.view subviews]; 
for (int i=0; i<[subviews count]; i++) 
{ 
   [[subviews objectAtIndex:i] removeFromSuperview]; 
} 
NSArray*子视图=[myAppdelegate.viewcontroller.view子视图];
对于(inti=0;i这应该是可行的

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

对于(int i=0;i如果您谈论的是UIViewController而不是子视图(它们是不同的),那么您可以使用:

 [self.navigationController popToRootViewControllerAnimated:YES];

您可以将UIViews添加到UIViewController,在这种情况下使用上面的“我的代码”,或者在UIViewController上推送视图(例如,推送视图控制器),在这种情况下使用此处的代码。

我们必须在数组中删除视图,以便通过枚举删除所有内容

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

一行代码:
[view.subview makeObjectsPerformSelector:@selector(removeFromSuperview)];