0

我正在Objective C使用xcodeSUP 2.1.3作为后端。我对这项技术非常陌生。我创建了一个以主细节作为设计模板的项目。在详细视图中,我使用弹出窗口来显示一些细节。而且我还有那边的一个按钮。当我单击此按钮时,我必须转到UIView弹出窗口本身的下一个。

为此,我又创建了两个UIViewControllers(viewController1 和 viewController2)。在详细视图中,我编写了弹出窗口的代码,例如,

  -(void)popupAgain
    {
        ViewController1 *viewController = [[ViewController1 alloc] initWithNibName:@"ViewController1" bundle:nil];

        viewController.modalPresentationStyle = UIModalPresentationFormSheet;
        [self presentModalViewController:viewController animated:YES];
        [viewController release];
    }

我在那个弹出窗口中放了一个按钮,我正在调用下一个 popupAgain 函数来获取 viewController2 之类的

 -(IBAction)next:(id)sender
    {
        [self popupAgain];
    }

 -(void)popupAgain
    {
        ViewController2 *viewController_new = [[ViewController2 alloc] initWithNibName:@"ViewController2" bundle:nil];

        viewController_new.modalPresentationStyle = UIModalPresentationFormSheet;
        [self presentModalViewController:viewController animated:YES];
        [viewController_new release];
    }

现在的问题是,当我单击下一个按钮时,我必须关闭第一个弹出窗口并显示第二个。但即使我正在编写代码 [self dissmissModalViewControllerAnimated:YES]; 我也无法关闭第一个弹出窗口;在下一个按钮的操作中,例如,

-(IBAction)next:(id)sender
{
    [self dissmissModalViewControllerAnimated:YES]; 
    [self popupAgain];
}

请任何人帮我解决这个问题。或者您对此有任何其他想法吗?我对这项技术非常陌生。非常感谢您提前提供的任何帮助。

4

1 回答 1

0

见这里:http: //developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/ModalViewControllers/ModalViewControllers.html#//apple_ref/doc/uid/TP40007457-CH111-SW1

关闭呈现的视图控制器

当需要关闭呈现的视图控制器时,首选的方法是让呈现的视图控制器关闭它。换句话说,只要有可能,呈现视图控制器的同一个视图控制器也应该负责解除它。尽管有几种技术可以通知呈现视图控制器其呈现的视图控制器应该被解除,但首选技术是委托。有关详细信息,请参阅“使用委托与其他控制器通信”。</p>

于 2012-12-31T18:42:42.537 回答