在iOS的目标c中创建一个模态窗口

时间:2011-06-21 12:34:01

标签: iphone ios modal-dialog blocking

我必须为iphone创建一个静态库,它提供了一个登录界面。登录会提示窗口并询问用户名和密码。

我想创建一个模态窗口。因为界面不带任何参数。我必须创建一个独立的窗口并在其上放置文本框和登录按钮。 Plz建议我这样做。

谢谢...

4 个答案:

答案 0 :(得分:3)

一种灵活的方法是在父视图控制器中传递调用代码。像这样的东西会起作用:

[CustomLoginManagerClass shownLoginOver:self.viewController otherStuff:_____];

然后假设你的方法定义是这样的,你可以从那里轻松启动你的模态。

+ (void)shownLoginOver:(UIViewController*)viewController otherStuff:(id)stuff
{
  [self presentModalViewController:viewController animated:YES];
}

请注意,我在我的示例中使用了类方法。这是更整洁,因为你要求它做的是从现有的视图控制器启动一个模态。此结构在DSActivityView中使用效果很好(请参阅:http://www.dejal.com/blog/development)。这是一个用于在任何其他视图的顶部显示模态加载屏幕的库。

或者,您可能希望根据需要将其设为实例方法。

答案 1 :(得分:2)

您想要一个模态视图。所有UIViewControllers都可以使用以下方法显示模态视图:

[self presentModalViewController:yourViewController animated:YES];

查看Apple参考指南以获取更多信息和样本。

答案 2 :(得分:1)

用以下内容表示:

  // to change the style of presentation
 viewController.modalPresentationStyle = UIModalPresentationStyle//....;
 //to change the transition
 viewController.modalTransitionStyle = UIModalTransitionStyle//...;
[self presentModalViewController:viewController animated:YES];

答案 3 :(得分:0)

您可以使用NSRunLoop创建一个“模态窗口”来玩游戏,但我不推荐它。这很容易出错,而且不是“可可方式”。

我建议你以通常的方式实现它,非模态与委托或块来通知结果。