更新:
UIButtonBackgroundColor Swiftライブラリを使用します。
古い:
以下のヘルパーを使用して、グレースケールの塗りつぶし色で1 px x 1 pxの画像を作成します。
UIImage *image = ACUTilingImageGray(248/255.0, 1);
またはRGB塗りつぶし色:
UIImage *image = ACUTilingImageRGB(253/255.0, 123/255.0, 43/255.0, 1);
次に、それを使用しimage
てボタンの背景画像を設定します。
[button setBackgroundImage:image forState:UIControlStateNormal];
ヘルパー
#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;
}
注:ACU
はAcani Utilitiesと呼ばれる私のCocoa Touch静的ライブラリのクラスプレフィックスです。ACはAcani、UはUtilitiesです。