Objective-c如何以同步方式加载UIViewController

时间:2011-09-25 21:07:22

标签: iphone objective-c uiviewcontroller modal-dialog synchronous

我的主应用程序视图加载一个UIVIewController,用于以模式方式显示免责声明,用户可以接受还是不接受。

免责声明UIVIewController有2个按钮,'同意'和'不同意'。 如果用户点击“不同意”,应用程序将自行关闭。 如果用户点击“同意”,则免责声明UIVIewController关闭并且主应用程序继续运行。

问题是,当我加载免责声明UIViewController时,主应用程序继续运行,而不是等到免责声明UIViewController被解雇。

有一种方法可以以“同步方式”打开模态UIViewController吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

所以我假设在applicationDidFinishLaunching方法的应用程序委托中你有一个viewController,它会自动添加到窗口中。在 - (void)viewDidLoad方法的viewController类中,您应该分配免责声明控制器并使用

以模态方式呈现它
[self presendModalViewController:my_disclaimer animate:YES];

这将导致控制器在所有内容前滑动。如果用户单击否,则只需将该模态控制器显示锁定在应用程序之外。

所以viewController中的代码 - (void)viewDidLoad方法应该读取

-(void)viewDidLoad
{
//Alocate memory
MyCustomController *controller = [[MyCustomController alloc] initWithWhatever:arguements_to_get_controller_setup];
//present controller
[self presentModalViewController:controller animate:YES];

}