swift的UIButton類中有些公開方法可以重寫,所以,如果想寫出自己的UIButton,只要繼承UIButton類,並重寫相應的方法即可。
系統的UIButton可以添加圖片,也可以添加標題,但是不能同時都加上去,怎么辦呢?
import UIKit class 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)
更多的方法重寫,未完待續... ...