首页 > 代码库 > swift 定制自己的Button样式

swift 定制自己的Button样式

swift的UIButton类中有些公开方法可以重写,所以,如果想写出自己的UIButton,只要继承UIButton类,并重写相应的方法即可。

系统的UIButton可以添加图片,也可以添加标题,但是不能同时都加上去,怎么办呢?

import UIKitclass BackButton: UIButton{        override func titleRectForContentRect(contentRect: CGRect) -> CGRect    {        return CGRectMake(self.frame.size.width/3.0, self.frame.size.height/6.0, self.frame.size.width/4.0*3.0, self.frame.size.height/3.0*2.0)    }    override func imageRectForContentRect(contentRect: CGRect) -> CGRect    {        return CGRectMake(0, self.frame.size.height/6.0, self.frame.size.width/4.0, self.frame.size.height/3.0*2.0)    }}

 

上面这个简单的类改变了UIButton中的图片和标题的位置,使用该类创建的button可以同时给button添加图片和文字,如下:

 

let backBtn = BackButton()backBtn.frame = CGRectMake(0, 0, 60, 30)backBtn.setImage(UIImage(named: "backImg"), forState:UIControlState.Normal)backBtn.setTitle("返回", forState: UIControlState.Normal)

 

更多的方法重写,未完待续... ...

swift 定制自己的Button样式