Я нашел решение. Я просто преобразовал цвет каждого пикселя в HSB, настроил оттенок и преобразовал обратно в RBG:
//convert to HSB
CGFloat h, s, l, a;
UIColor *color = [UIColor colorWithRed:r green:g blue:b alpha:1.0f];
[color getHue:&h saturation:&s brightness:&l alpha:&a];
//adjust hue
h *= amount;
//convert back to RGB
color = [UIColor colorWithHue:h saturation:s brightness:l alpha:1.0f];
[color getRed:&r green:&g blue:&b alpha:&a];
Это не самое быстрое решение, но оно простое