Co powiesz na podklasę UIView i dodanie obiektu Ivar (zwanego obrazem) UII? Wtedy możesz przesłonić -drawRect: coś takiego, pod warunkiem, że masz wywołane boolean ivar, które zostało ustawione podczas dotknięcia.
- (void)drawRect:(CGRect)rect
{
[image drawAtPoint:(CGPointMake(0.0, 0.0))];
// if pressed, fill rect with dark translucent color
if (pressed)
{
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGContextSaveGState(ctx);
CGContextSetRGBFillColor(ctx, 0.5, 0.5, 0.5, 0.5);
CGContextFillRect(ctx, rect);
CGContextRestoreGState(ctx);
}
}
Chciałbyś eksperymentować z wartościami RGBA powyżej. Oczywiście, kształty inne niż prostokątne wymagałyby nieco więcej pracy - na przykład CGMutablePathRef.
Czy można zamiast tego użyć 'UIButton'? –