开发者

How make a transparent & flat UIBarButtonItem?

I wanna to make buttons for my app flat & transaparent, like the ones in the kindle app (see the shop button).

I try to set a custom background by code with not luck (the button is draw as a rectangle, with he border color fill all the background):

- (UIImage *) screenshot {
    // Create a graphics context with the target size
    // On iOS 4 and later, use UIGraphicsBeginImageContextWithOptions to take the scale into consideration
    // On iOS prior to 4, fall back to use UIGraphicsBeginImageContext
    CGSize imageSize = self.bounds.size;

    if (NULL != UIGraphicsBeginImageContextWithOptions)
        UIGraphicsBeginImageContextWithOptions(imageSize, NO, 0);
    else
        UIGraphicsBeginImageContext(imageSize);

    CGContextRef context = UIGraphicsGetCurrentContext();

    [self.layer renderInContext:context];

    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    return image;   
}

+(UIImage *) buttonFlat {
    UIView *bt = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 1.0f, 1.0f)];

    bt.backgroundColor = [UIColor blackColor];
    bt.layer.borderColor = [UIColor lightGrayColor].CGColor;
    bt.layer.borderWidth = 1;
    bt.layer.cornerRadius = 5.0;
    bt.alpha = 0.7;

    return开发者_运维技巧 [bt screenshot];
}

I know how do this with a normal UIButton, but prefer to make this so I can retain the standard icons of the UIBarButtonItem if possible...


A UIBarButton can hold any custom view:

UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithCustomView:someView];
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜