SearchBarのScopeBarのScopeBarButtonのbackGroundColorを変更したいです。以下のように変更するにはどうすればよいですか。
【赤】【橙】【黄】【緑】【青】【紫】
教えて...
最初にグラデーションを描画し、画像を取得してから、ABrosが言ったことを使用してbackgroundImageを設定できます。
UIGraphicsBeginImageContext(scopeBar.frame.size);
CGContextRef context = UIGraphicsGetCurrentContext();
NSArray *colors = [NSArray arrayWithObjects:(id)[UIColor redColor].CGColor, (id)[UIColor orangeColor].CGColor, (id)[UIColor yellowColor].CGColor, (id)[UIColor greenColor].CGColor, (id)[UIColor blueColor].CGColor, (id)[UIColor purpleColor].CGColor, nil];
CGFloat locations[6] = {0.0,0.2,0.4,0.6,0.8,1.0};
CGGradientRef gradient = CGGradientCreateWithColors(CGColorSpaceCreateDeviceRGB(), (__bridge CFArrayRef)colors, locations);
CGContextDrawLinearGradient(context, gradient, CGPointZero, CGPointMake(scopeBar.size.width, 0), nil);
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[searchBar setScopeBarBackgroundImage:image];
scopeButton のみではなく、searchBar 全体の色のみを変更できます。ただし、スコープバーにbackground* Image *を設定するオプションがあります。
[searchBar setScopeBarBackgroundImage:[UIImage imageNamed:@"bg.jpg"]];