Ankit で既に述べたように、最善の策は使用することです
- (void)setFinishedSelectedImage:(UIImage *)selectedImage withFinishedUnselectedImage:(UIImage *)unselectedImage
ただし、これを行うには UIImage が必要であることに感謝します。デザイナーがこれを提供できない場合、できることは、コードで独自の UIImage を描画することです。
- (UIImage *)imageWithColor:(UIColor *)color {
CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [color CGColor]);
CGContextFillRect(context, rect);
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
明らかに、このコードはグラデーションを描画しませんが、UIImage の描画の基本を示しています。必要な正確なグラデーションを描画する方法を理解するには、次のようなチュートリアルを見てください。
http://www.raywenderlich.com/2033/core-graphics-101-lines-rectangles-and-gradients