zoukankan      html  css  js  c++  java
  • 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;

    }

  • 相关阅读:
    学习使用linux下tags文件
    uboot常用命令详解
    U-boot中TFTP 解释
    eth0: ERROR while getting interface flags: No such device 没有eth0 有其他的eth
    取消挂载 umount 时出现的 “Device is busy”
    Linux的log日志功能
    oracle的安装
    SOA架构设计分析
    立方体模型
    质量属性的六个常见属性场景(淘宝网)
  • 原文地址:https://www.cnblogs.com/rollrock/p/3741920.html
Copyright © 2011-2022 走看看