在iPad上打开新视图,然后关闭现有视图。

时间:2011-05-12 21:24:27

标签: ios ipad uiview uiviewcontroller

我在iPad上打开了一个视图(View1,分配给View1Controller)。我如何让它打开View2(View2Controller)并关闭它...我确信它很简单,但我正在管理弹出窗口,找不到这么简单的东西。如果可能,动画过渡将更可取。

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

这里概述了一种可以实现此目的的方法。

假设您的AppDelegate中有一个名为viewController1viewController2的属性(这些属性应为nonatomic, retain,以便更轻松地进行内存管理。)

如果您想从viewController1切换到viewController2,则需要删除以执行以下操作

// Remove the old view
[self.viewController1.view removeFromSuperView];
// Release it's controller (just to economize on memory)
self.viewController1.view = nil;
if(self.viewController2 == nil)
{
    // Load the new controller from it's NIB/XIB
    ViewController2* vc2 = [[ViewController2 alloc] 
                                 initWithNibName:@"ViewController2" 
                                 bundle:nil];
    // Assign it to property & release to keep memory management clean
    self.viewController2 = vc2;
    [vc2 release];
}
// Add the new view controller to the window
[self.window addSubview:vc2];

通知AppDelegate切换视图的最简单方法之一是使用通知中心。

由于您要保留属性中的视图控制器,因此不要忘记在dealloc中释放它们。 希望这会帮助你。