Показ 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 секунд, это очень странно, что не так в этом коде?