`

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
    }
    

}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics