I think you need to use a PNG file with a translucent gray image. Then you need to set the button image to Highlighted .
Also note that both images for Normal State and Highlighted State must have images with names on them.
Once we set the image to the button, btn.titleLabel.text will not be displayed.
That way, you can have an image with banner backgrounds and a caption on it for Normal . And a gray image with a caption on it for Highlighted Status.
Code for its software programming
[btn setImage:@"Transperant.png" forState:UIControlStateNormal]; [btn setImage:@"Grey.png" forState:UIControlStateHighlighted];
Hope this helps you.
source share