我在故事板控制器中有一个视图,它扩展了我的自定义 UIView,当我尝试在 drawRect 中绘制渐变时,它在通过 XCode 加载到设备/sim 时显示正常,但是当我在上传到 iTunes Connect 后通过 TestFlight 安装时,渐变不是首先出现(显示黑色背景) - 它需要旋转设备并且渐变再次显示正常。什么可能导致这种行为?
- (void)drawRect:(CGRect)rect {
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef context = UIGraphicsGetCurrentContext();
NSArray *gradientColors = [NSArray arrayWithObjects:
(id)[[self colorWithHexString:@"FF7542"]CGColor],
(id)[[self colorWithHexString:@"FF7542"]CGColor],
(id)[[self colorWithHexString:@"FFC0A1"]CGColor],
nil];
CGFloat gradientLocations[] = {0, 1};
CGGradientRef gradient = CGGradientCreateWithColors(colorSpace, (__bridge CFArrayRef) gradientColors, gradientLocations);
CGPoint startPoint = CGPointMake(CGRectGetMidX(rect), CGRectGetMinY(rect));
CGPoint endPoint = CGPointMake(CGRectGetMidX(rect), CGRectGetMaxY(rect));
CGContextDrawLinearGradient(context, gradient, startPoint, endPoint, 0);
CGGradientRelease(gradient);
CGColorSpaceRelease(colorSpace);
NSShadow *shadow = [[NSShadow alloc] init];
[shadow setShadowColor : BLACK_SHADOW];
[shadow setShadowOffset : CGSizeMake (1.0, 1.0)];
}