1. 程式人生 > >iOS 按鈕點選改變背景色

iOS 按鈕點選改變背景色

- (void)viewDidLoad {

    [superviewDidLoad];

// Do any additional setup after loading the view.

UIButton *btn = [[UIButtonallocinitWithFrame:CGRectMake(50, 50, 8040)];

      btn.backgroundColor=[UIColorcolorWithRed:76/255.0green:91/255.0blue:120/255.0alpha:1];

      [btn.layer setCornerRadius:3];

      btn.

layer.masksToBounds = YES;

      [btn setTitle:@"button"forState:UIControlStateNormal];

      [btn setTitleColor:[UIColorwhiteColorforState:UIControlStateNormal];

      [btn setBackgroundImage:[selfimageWithColor:[UIColorcolorWithRed:76/255.0green:91/255.0blue:120/255.0alpha:1]] forState:UIControlStateNormal];

      [btn setBackgroundImage:[selfimageWithColor:[UIColorcolorWithRed:54/255.0green:65/255.0blue:87/255.0alpha:1]] forState:UIControlStateHighlighted];

      [self.view addSubview:btn];


}

//  顏色轉換為背景圖片

- (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;

}