2

SearchBarのScopeBarのScopeBarButtonのbackGroundColorを変更したいです。以下のように変更するにはどうすればよいですか。

【赤】【橙】【黄】【緑】【青】【紫】

教えて...

4

2 に答える 2

0

最初にグラデーションを描画し、画像を取得してから、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];
于 2012-07-10T02:04:06.773 に答える
0

scopeButton のみではなく、searchBar 全体の色のみを変更できます。ただし、スコープバーにbackground* Image *を設定するオプションがあります。

[searchBar setScopeBarBackgroundImage:[UIImage imageNamed:@"bg.jpg"]];
于 2012-07-10T01:49:09.703 に答える