0

http://replyz.com/c/1244746-does-anyone-know-the-exact-cgcolorref-used-to-create-the-selection-highlight-when-using-uitableviewcellselectionstyleblue#から

私は誰かがコードでそれをしたのを見ました、そして彼はハイライトされた色がUIImageからのものであると言いました。

画像はどこにありますか?

(UITableViewCellSelectionStyleBlueカラーでUIButtonを強調表示したい)

4

2 に答える 2

0

リンクhttp://replyz.com/c/1244746-does-anyone-know-the-exact-cgcolorref-used-to-create-the-selection-highlight-when-using-uitableviewcellselectionstyleblue#を見つけましたいくつかのコードを含むハイライトの作成に使用できます。そして、コードを使用して新しい UIImage を作成します。

コードは次のとおりです。

+ (UIImage *) imageForSelectedBlue {
    CGRect rect = CGRectMake(0, 0, 10, 10);
    UIGraphicsBeginImageContext(rect.size);
    CGContextRef context = UIGraphicsGetCurrentContext();

    size_t num_locations = 2;
    CGFloat locations[2] = { 0.0, 1.0 };
    CGFloat components[8] = { 0.021, 0.548, 0.962, 1.000, 0.008, 0.364, 0.900, 1.000 };

    CGColorSpaceRef rgbColorspace = CGColorSpaceCreateDeviceRGB();
    CGGradientRef selectionGradient = CGGradientCreateWithColorComponents(rgbColorspace, components, locations, num_locations);

    CGPoint startPoint = CGPointMake(CGRectGetMidX(rect), CGRectGetMinY(rect));
    CGPoint endPoint = CGPointMake(CGRectGetMidX(rect), CGRectGetMaxY(rect));

    CGContextDrawLinearGradient(context, selectionGradient, startPoint, endPoint, 0);

    CGGradientRelease(selectionGradient);
    CGColorSpaceRelease(rgbColorspace);

    UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return img;
}
于 2012-07-09T08:58:19.470 に答える
0

実際には、ボタンの背景画像を設定できます。より効率的です。

[button setBackgroundImage:buttonBackgroundPressed forState:UIControlStateHighlighted];
于 2012-07-09T12:20:11.920 に答える