AGGIORNARE:
Utilizzare la libreria UIButtonBackgroundColor Swift.
VECCHIO:
Utilizza gli helper di seguito per creare un'immagine di 1 px x 1 px con un colore di riempimento in scala di grigi:
UIImage *image = ACUTilingImageGray(248/255.0, 1);
o un colore di riempimento RGB:
UIImage *image = ACUTilingImageRGB(253/255.0, 123/255.0, 43/255.0, 1);
Quindi, usalo image
per impostare l'immagine di sfondo del pulsante:
[button setBackgroundImage:image forState:UIControlStateNormal];
Helpers
#pragma mark - Helpers
UIImage *ACUTilingImageGray(CGFloat gray, CGFloat alpha)
{
return ACUTilingImage(alpha, ^(CGContextRef context) {
CGContextSetGrayFillColor(context, gray, alpha);
});
}
UIImage *ACUTilingImageRGB(CGFloat red, CGFloat green, CGFloat blue, CGFloat alpha)
{
return ACUTilingImage(alpha, ^(CGContextRef context) {
CGContextSetRGBFillColor(context, red, green, blue, alpha);
});
}
UIImage *ACUTilingImage(CGFloat alpha, void (^setFillColor)(CGContextRef context))
{
CGRect rect = CGRectMake(0, 0, 0.5, 0.5);
UIGraphicsBeginImageContextWithOptions(rect.size, alpha == 1, 0);
CGContextRef context = UIGraphicsGetCurrentContext();
setFillColor(context);
CGContextFillRect(context, rect);
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
Nota: ACU
è il prefisso di classe della mia libreria statica Cocoa Touch chiamata Acani Utilities, dove AC è per Acani e U è per Utilità.