//自定義button設置背景色的方法 - (void)setBackgroundColor:(UIColor *)color forState:(UIControlState)state{ [self setBackgroundImage:[self buttonImageFromColor:color] forState:state]; } - (UIImage *) buttonImageFromColor:(UIColor *)color { CGRect rect = CGRectMake(0, 0, self.frame.size.width, self.frame.size.height); UIGraphicsBeginImageContext(rect.size); CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSetFillColorWithColor(context, [color CGColor]); CGContextFillRect(context, rect); UIImage *img = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return img; }