Сделайте фон UIView градиентом без классификации Sub

Попробуйте очистить кэш приложений, используя эту команду: php artisan cache:clear

Команда cache:clear может использоваться для очистки файлов кэша приложений.

27
задан macinjosh 10 May 2009 в 04:55
поделиться

2 ответа

Вы можете использовать + [UIColor colorWithPatternImage:] для создания узорчатого фона. Пример (принесите свой собственный CGGradient):

// Allocate color space
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
// Allocate bitmap context
CGContextRef bitmapContext = CGBitmapContextCreate(NULL, 320, 480, 8, 4 * 320, colorSpace, kCGImageAlphaNoneSkipFirst);
//allocate myGradient
CGFloat locationList[]  = {0.0f, 1.0f};
CGFloat colorList[]     = {0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f};
CGGradientRef myGradient   = CGGradientCreateWithColorComponents(colorSpace, colorList, locationList, 2);
// Draw Gradient Here
CGContextDrawLinearGradient(bitmapContext, myGradient, CGPointMake(0.0f, 0.0f), CGPointMake(320.0f, 480.0f), 0);
// Create a CGImage from context
CGImageRef cgImage = CGBitmapContextCreateImage(bitmapContext);
// Create a UIImage from CGImage
UIImage *uiImage = [UIImage imageWithCGImage:cgImage];
// Release the CGImage
CGImageRelease(cgImage);
// Release the bitmap context
CGContextRelease(bitmapContext);
// Release the color space
CGColorSpaceRelease(colorSpace);
// Create the patterned UIColor and set as background color
[targetView setBackgroundColor:[UIColor colorWithPatternImage:image]];

Возможно, будет проще просто создать подкласс UIView . Он также будет использовать меньше памяти.

33
ответ дан 28 November 2019 в 04:43
поделиться

Я согласен с rpetrich, было бы проще создать подкласс UIView. Пример того, как это сделать, можно найти в моем ответе на этот вопрос . При желании вы можете создать общий подкласс UIView градиента и просто разместить его за видами, для которых вы хотите иметь градиентный фон.

1
ответ дан 28 November 2019 в 04:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: