@iPhone UIView substitui a cor da imagem programaticamente, como no Photoshop ou Illustrator

Tenho um conjunto de gráficos que gostaria de reutilizar nos meus aplicativos. São botões e imagens com transparência. Em vez de ter dezenas de imagens de botão codificadas, eu adoraria ter uma única imagem de botão e poder atribuir uma cor a ela dinamicamente, como a barra de navegação e a cor da tonalidad

possível substituir / alterar a tonalidade de um UIVie

Alternativamente: eu sei que, se sobrepor uma imagem transparente sobre outra UIView, posso alterar a cor do plano de fundo e as duas imagens se misturam. Mas as regiões transparentes terão o tom de fundo.

Existe uma maneira de manter transparentes as regiões transparentes, misturando as duas imagenuvi dizer que existem máscaras de recorte, mas nunca trabalhei com ela

Obrigado

Atualizar

Isso deve funcionar, mas retorna imagem nula, já vi alguém reportar o mesmo problema. Talvez isso funcione no futuro

-(void)doHueAdjustFilter
{

    //does not work, returns nil image
    CIImage* inputImage = [CIImage imageWithCGImage:[[UIImage imageNamed:@"button.jpg"]CGImage]];

    CIFilter *myFilter;
    NSDictionary *myFilterAttributes;
    myFilter = [CIFilter filterWithName:@"CIHueAdjust"];
    [myFilter setDefaults];

    myFilterAttributes = [myFilter attributes];
    [myFilterAttributes setValue:inputImage forKey:@"inputImage"];
    [myFilterAttributes setValue:[NSNumber numberWithFloat:0.9] forKey:@"inputAngle"];


    CIContext *context = [CIContext contextWithOptions:nil];
    CIImage *ciimage = [myFilter outputImage];
    CGImageRef cgimg = [context createCGImage:ciimage fromRect:[ciimage extent]];
    UIImage *uimage = [UIImage imageWithCGImage:cgimg scale:1.0f orientation:UIImageOrientationUp];
    [caduceusImageView setImage:uimage];
    CGImageRelease(cgimg);

}

questionAnswers(2)

yourAnswerToTheQuestion