警报视图在iOS7中显示白色矩形 [英] Alert view is showing white rectangle in iOS7

查看:95
本文介绍了警报视图在iOS7中显示白色矩形的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

以下代码在iOS 5到6.1中运行良好。我甚至在应用程序中存储了该代码:

The following code works perfectly from iOS 5 to 6.1. I even have applications in store with that code:

-(void)showActivityIndicator
{
    if(!mLoadingView) //
    {
        mLoadingView = [[UIAlertView alloc] initWithTitle:@"" message:@"" delegate:self cancelButtonTitle:nil otherButtonTitles:nil];
        mLoadingView.tag = kAlertViewTag;
    }

    [mLoadingView show];
}

- (void)willPresentAlertView:(UIAlertView *)alertView
{
    if (alertView.tag == kAlertViewTag)
    {
        UIActivityIndicatorView *actInd = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
        actInd.frame = CGRectMake(128.0f, 45.0f, 25.0f, 25.0f);
        [alertView addSubview:actInd];
        [actInd startAnimating];

        UILabel *l = [[UILabel alloc]init];
        l.text = NSLocalizedString(@"PRODUCT_PURCHASE_INDICATOR_TITLE", @"Please wait...");
        l.font = [UIFont fontWithName:@"Helvetica" size:16];

        float strWidth = [l.text sizeWithFont:l.font].width;
        float frameWidth = alertView.frame.size.width;
        l.frame = CGRectMake((frameWidth - strWidth)/2, -25, 210, 100);

        l.textColor = [UIColor whiteColor];
        l.shadowColor = [UIColor blackColor];
        l.shadowOffset = CGSizeMake(1.0, 1.0);
        l.backgroundColor = [UIColor clearColor];
        [alertView addSubview:l];
    }
}

它将显示没有按钮和活动指示器的警报视图和标签。但是在iOS7中我只能看到白色的圆角矩形,没有活动指示。

It will show alert view without buttons and with activity indicator and label. However in iOS7 I can see only white rounded rectangle, no activity indicator.

从iOS 5到7,我能做些什么工作?

What can I do to have this work from iOS 5 to 7?

更新:

为了更具描述性,我正在添加屏幕截图。以下是iOS 5到6.1截图。在那里工作正常。

To be more descriptive I'm adding screenshots. The following is iOS 5 to 6.1 screenshot. Works fine there.

以下是iOS7。正如您所看到的,即使尺寸更小。看起来它没有完全初始化或者什么。

The following is iOS7. As you can see even the size is smaller. Looks like it's not fully initialized or something.

推荐答案




现在 addSubview 在iOS7中的 UIAlertView 中不可用


now addSubview is not available in UIAlertView in iOS7

UIAlertView class旨在按原样使用,不支持子类化。此类的视图层次结构是私有的,不得修改

The UIAlertView class is intended to be used as-is and does not support subclassing. The view hierarchy for this class is private and must not be modified

作为替代方法,您可以使用 SVProgressHUD

As an alternative you can use SVProgressHUD.

这篇关于警报视图在iOS7中显示白色矩形的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆