码迷,mamicode.com
首页 > 编程语言 > 详细

Swift重写UIButton的图片和标题的位置

时间:2015-11-11 19:04:39      阅读:291      评论:0      收藏:0      [点我收藏+]

标签:

import UIKit

class ResetBtn: UIButton {

    
    let IMAGE_RATIO :CGFloat = 0.7  // 图片占整个按钮高度的比例
   
    let TITLE_FONT:CGFloat = 13   // 设置按钮标题字体默认的大小
    override init(frame: CGRect) {
        
        super.init(frame: frame)
        
        
        self.setImageAndTitle()
        
    }
    
    required init?(coder aDecoder: NSCoder) {
        
        super.init(coder: aDecoder)
        
         self.setImageAndTitle()
    }
    
    
    func setImageAndTitle(){
    
        
        self.imageView?.contentMode = .Center   // 设置图片显示的模式  居中
        
        self.titleLabel?.textAlignment = .Center  // 文本文字居中显示
        
        self.titleLabel?.font = UIFont.systemFontOfSize(TITLE_FONT) //文本文字默认大小
        self.setTitleColor(UIColor.lightGrayColor(), forState: .Normal)  // 文本文字默认颜色
    
    }
    
    
    
 /// 重写highlighted 状态
    
    override var  highlighted : Bool {
        
            set{
                
            }
            get{
                
                
                return false
            }
        
    }

    
    
    override func imageRectForContentRect(contentRect: CGRect) -> CGRect {
        
        
        let imageX:CGFloat = 0
        let imageY:CGFloat = 0
        let imageW:CGFloat = self.frame.size.width
        let imageH:CGFloat = self.frame.size.height * IMAGE_RATIO
        
        
        return CGRectMake(imageX, imageY, imageW, imageH)
        
        
    }
    
    override func titleRectForContentRect(contentRect: CGRect) -> CGRect {
        
        let titleX:CGFloat = 0
        let titleY:CGFloat = self.frame.size.height * IMAGE_RATIO

        let titleW:CGFloat = self.frame.size.width
        let titleH:CGFloat = self.frame.size.height * (1.0 - IMAGE_RATIO)
        
        
        return CGRectMake(titleX, titleY, titleW, titleH)
        
    }
    
    
    
}

 

Swift重写UIButton的图片和标题的位置

标签:

原文地址:http://www.cnblogs.com/Iceing/p/4956705.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!