0

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

它的外观应该像一个小的警报框,但我希望在这里进行自定义:我不希望它看起来像任何其他UIAlertview. 我不想要它上面的任何按钮(确定/取消),因为当应用程序需要它时它会被丢弃。用户不应丢弃它。

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

4

4 回答 4

2

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

于 2012-09-07T12:08:14.260 回答
1

你需要一个自定义的UIAlertView.

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

本教程展示了如何创建UIAlertView没有按钮的自定义

于 2012-09-07T11:49:20.003 回答
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;
于 2012-09-07T11:51:48.020 回答
1

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

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

于 2012-09-07T12:04:06.500 回答