swift -> 自定义UIButton / 自定义图文排列

  •  自定义一个 图文排列的 UIBUTTON  

自定义一个UIControl 然后添加UILabel 和 UIImageView 以及添加 addTarget 的 各种 touchEvent 事件

 

let re:UIControl = UIControl()

 

 

        let re:UIControl = UIControl()
        let imgV = UIImageView(frame: CGRect(x: 0, y: 0, width: deskBtnWh, height: deskBtnWh))
        imgV.image = #imageLiteral(resourceName: "test")
        imgV.contentMode = .scaleAspectFit
        
        let titleV = UILabel(frame: CGRect(x: 0, y: deskBtnWh, width: deskBtnWh, height: deskBtnHt - deskBtnWh))
        titleV.textAlignment = .center
        titleV.text = "I'm Title";
        titleV.textColor = UIColor.init(white: 0.1, alpha: 1)
        titleV.font = UIFont.systemFont(ofSize: 12)
        titleV.lineBreakMode = .byClipping
        
        re.addSubview(imgV)
        re.addSubview(titleV)
        
        re.addTarget(#, action: #, for: #)

 

  •   自定义一个UIbutton Class
class NewBtn:UIControl{
    var imgV:UIImageView!;
    open var img:UIImage! = nil;
    open var title:String! = nil;
    func create(){
        imgV = UIImageView(frame: CGRect(x: 0, y: 0, width: deskBtnWh, height: deskBtnWh))
        imgV.image = img
        imgV.contentMode = .scaleAspectFit
        let titleV = UILabel(frame: CGRect(x: 0, y: deskBtnWh, width: deskBtnWh, height: deskBtnHt - deskBtnWh))
        titleV.textAlignment = .center
        titleV.text = title;
        titleV.textColor = UIColor.init(white: 0.1, alpha: 1)
        titleV.font = UIFont.systemFont(ofSize: 12)
        titleV.lineBreakMode = .byClipping
        self.addSubview(imgV)
        self.addSubview(titleV)
    }
    func changeImg(newImg:UIImage){
        img = newImg;
        imgV.image = img
    }
    

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值