Показ UILabel в UIWindow задерживается в iPhone 6+

У меня есть этот код:

UIWindow* window = [[[UIApplication sharedApplication].windows sortedArrayUsingComparator:^NSComparisonResult(UIWindow *win1, UIWindow *win2) {
        return win1.windowLevel - win2.windowLevel;
    }] lastObject];

    NSString* labelText = self.message;

    NSDictionary *attributes = @{NSFontAttributeName: [UIFont systemFontOfSize:17.0f]};

    CGRect rect = [labelText boundingRectWithSize:CGSizeMake(500.0f, MAXFLOAT)
                                          options:NSStringDrawingUsesLineFragmentOrigin
                                       attributes:attributes
                                          context:nil];
    CGSize labelSize = rect.size;

    float viewWidth = labelSize.width+20;

    UILabel* label = [[UILabel alloc] initWithFrame:CGRectMake((window.bounds.size.width-viewWidth)/2, window.bounds.size.height/2.5, viewWidth, 30)];
    label.alpha = 0;
    [window addSubview:label];

    label.textAlignment = NSTextAlignmentCenter;
    label.backgroundColor =[UIColor blackColor];
    label.textColor = [UIColor whiteColor];
    label.text = labelText;
    label.layer.cornerRadius = 15;
    label.layer.masksToBounds = YES;

    [UIView animateWithDuration:1.0f delay:0.0f options:UIViewAnimationOptionCurveEaseIn animations:^{

        label.alpha = 0.9;
    } completion:^(BOOL finished) {
        [UIView animateWithDuration:1.0f delay:self.duration options:UIViewAnimationOptionCurveEaseOut animations:^{
            label.alpha = 0;
        } completion:^(BOOL finished) {
            [label removeFromSuperview];
        }];
    }];

В iPhone 5 и iPhone 6 UILabel отображается сразу после выполнения предыдущего кода, но в iPhone 6 plus, до отображения на экране требуется до 5 секунд, это очень странно, что не так в этом коде?

0 ответов

Другие вопросы по тегам