将 UIActivityIndi​​catorView 添加到 UIAlertView

Posted

技术标签:

【中文标题】将 UIActivityIndi​​catorView 添加到 UIAlertView【英文标题】:Adding UIActivityIndicatorView to UIAlertView 【发布时间】:2014-04-15 09:40:22 【问题描述】:

我想在消息中添加一个活动指示器,即 uiAlert 消息,我基本上尝试了互联网上的所有内容,但对我没有任何效果,我将只拥有 uialertview,这是我的代码

UIAlertView  *waitAlert = [[UIAlertView alloc] initWithTitle:@"Please Wait...." message:@"\n\n" delegate:self cancelButtonTitle:nil otherButtonTitles: nil];
UIActivityIndicatorView *progress= [[UIActivityIndicatorView alloc] initWithFrame: CGRectMake(125, 50, 30, 30)];
progress.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhiteLarge;
progress.color = [UIColor blackColor];
[waitAlert addSubview: progress];
[progress startAnimating];
[waitAlert show];

这就是我最终拥有的

我错过了什么!?

【问题讨论】:

为什么不使用MBProgressHud...它是一个非常简洁的加载器库,而且使用起来非常简单... 使用ios7,您不能将子视图添加到UIAlertView。你必须自己做 AlertView,或者使用 CocoaControls/GitHub 上的一个。 Alert view is showing white rectangle in iOS7的可能重复 另见:***.com/questions/18729220/… 您可以在 UIAlertView 上添加子视图,但不会显示子视图。您可以检查它的子视图计数属性。 【参考方案1】:

在 iOS 7 中,您无法在 UIAlertView 上添加任何内容,这在 iOS 6.1 之前是可能的。所以 MBProgressHud 是最好和简单的解决方案

【讨论】:

您可以在 UIAlertView 上添加子视图,但不会显示子视图。您可以检查它的子视图计数属性。【参考方案2】:

尝试使用UIAlertViewDelegate 方法添加您的UIActivityIndicator

- (void)didPresentAlertView:(UIAlertView *)alertView

    UIActivityIndicatorView *progress = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];

    progress.frame = CGRectMake(125, 50, 30, 30);

    [progress startAnimating];
    [alertView addSubview:progress];

【讨论】:

以上是关于将 UIActivityIndi​​catorView 添加到 UIAlertView的主要内容,如果未能解决你的问题,请参考以下文章

将 UIActivityIndi​​catorView 添加到 UIAlertView

将 UIActivityIndi​​cator 添加到模态视图 (ELCimagepicker)

如何将 UIActivityIndi​​cator 添加到我的应用程序的启动画面?

将 UIActivityIndi​​cator 添加到 UITableView

UIActivityIndi​​catorView 在异步任务期间未显示

在执行搜索功能期间如何实现 UIActivityIndi​​catorView?