首页 > 代码库 > UIButton 设置为圆形,并且使用图片(UIImage)当做背景
UIButton 设置为圆形,并且使用图片(UIImage)当做背景
-(UIButton *)shareButtonWithIcon:(NSString *)iconName
{
UIButton *button = [UIButtonbuttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(100, 100, 2 * 50, 2 * 50);
// Circle background
UIView *circle = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 2 * 50, 2 * 50)];
circle.backgroundColor = [UIColorblueColor];
circle.layer.cornerRadius = 50;
circle.layer.masksToBounds = YES;
circle.opaque = NO;
circle.alpha = 0.97;
// Circle icon
UIImageView *icon = [[UIImageView alloc] initWithImage:[UIImage imageNamed:iconName]];
CGRect f = icon.frame;
f.origin.x = (circle.frame.size.width - f.size.width) * 0.5;
f.origin.y = (circle.frame.size.height - f.size.height) * 0.5;
icon.frame = f;
[circle addSubview:icon];
[button setBackgroundImage:[selfimageWithView:circle] forState:UIControlStateNormal];
return button;
}
-(UIImage *)imageWithView:(UIView *)view
{
UIGraphicsBeginImageContextWithOptions(view.bounds.size, view.opaque, 0.0);
[view.layerrenderInContext:UIGraphicsGetCurrentContext()];
UIImage * img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return img;
}