swift 自定義按鈕

自定義按鈕視圖:上半部分顯示圖片,下半部分顯示標題,效果:


圓形圖片按鈕.png

方形圖片按鈕.png
class CustomImageBtn: UIButton {
  var aboveImageView :UIImageView!
  var bottomLabel:UILabel!
  /**
   創(chuàng)建自定制按鈕視圖
   
   - parameter frame:    frame
   - parameter isRound:  圖片是都是圓形
   
   - returns:  self
   */
  init(frame: CGRect,isRound:Bool) {
    super.init(frame: frame)
    let imageSide = self.frame.height-20-30
    let spaceX = (self.frame.width - imageSide)/2.0
    aboveImageView = UIImageView.init(frame: CGRectMake(spaceX, 10, imageSide, imageSide))
    aboveImageView.image = UIImage.init(named: "placeholder")
    if isRound {
      aboveImageView.layer.cornerRadius = imageSide/2.0
    }else{
      aboveImageView.layer.cornerRadius = 3.0
    }
    self.addSubview(aboveImageView)
    bottomLabel = UILabel.init(frame: CGRectMake(0, imageSide+20, self.frame.width, 20))
    bottomLabel.text = "標題"
    bottomLabel.textColor = UIColor.grayColor()
    bottomLabel.textAlignment = .Center
    bottomLabel.font = UIFont.systemFontOfSize(13)
    self.addSubview(bottomLabel)
  }
  
  required init?(coder aDecoder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
  }
  /**
   配置按鈕
   - parameter imageUrlStr: 按鈕的圖片鏈接
   - parameter title:       按鈕的標題
   */
  func configBtn(image:UIImage,title:String)  {
    aboveImageView.image = image
    bottomLabel.text = title
  }
}
    //添加自定義按鈕
    let cusImageBtn = CustomImageBtn.init(frame: CGRectMake(0, 0, 100, 120), isRound: false)
    self.view.addSubview(cusImageBtn)
    cusImageBtn.configBtn(UIImage.init(named: "ICON108")!, title: "自定義按鈕")

期待你的評論建議O(∩_∩)O~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容