如何添加看起来像UIAlert的启动视图

时间:2012-09-07 11:46:14

标签: iphone ios uiviewcontroller uialertview splash

我需要一个具有启发功能的视图。 但我不需要在应用程序加载开始时。 我在用户异步请求处理期间需要这个。

它的外观应该像一个小警报框,但同样,我想要我的自定义: 我不希望它看起来像任何其他UIAlertview。 我不想要任何按钮(OK /取消),因为当app想要它时它会被丢弃。用户不应该丢弃它。

我对两种方法感到困惑: 我应该使用UIViewController(但是想让它看起来像一个模态框,还有警报尺寸,而不是320 X 480)? 或者我应该使用没有按钮的自定义UIAlertView?我怀疑自己是否可以自由地玩它。

4 个答案:

答案 0 :(得分:2)

我认为人们过于专注于问题的警报视图部分。您不需要以警报视图为基础。使用MBProgressHUD

答案 1 :(得分:1)

您需要自定义UIAlertView

您可以阅读本教程:http://joris.kluivers.nl/blog/2009/04/23/subclass-uialertview-to-create-a-custom-alert/

本教程介绍如何创建不带按钮的自定义UIAlertView

答案 2 :(得分:1)

您可以轻松使用UIAlertView而无需任何按钮!

splashAlertView = [[UIAlertView alloc] initWithTitle:@"Data is Loading" 
                                             message:@"Please wait until data will finish loading" 
                                            delegate:self 
                                   cancelButtonTitle:nil 
                                   otherButtonTitles:nil];

[splashAlertView show];
[splashAlertView addSubview:yourSplashSubview];

然后,当您的数据完成加载时,只需调用:

[splashAlertView dismissWithClickedButtonIndex:-1 animated:0];
[splashAlertView release];
splashAlertView = NULL;

答案 3 :(得分:1)

另一种选择是使用UIView子类。您可以根据需要设置UIView样式,并在需要显示“警报”时,创建视图实例并将其添加到当前可见视图中。

禁用当前可见视图上的交互,直到此UIView可见。当您从最顶层的视图中删除它时,再次启用交互。