1.自定義一個(gè)TittleBtn
import UIKit
class TittleBtn: UIButton {
// 初始化視圖
override init(frame: CGRect) {
super.init(frame: frame)
setTitleColor(UIColor.JKTextGayColor(), for: UIControlState.normal)
setImage(UIImage(named:"navigationbar_arrow_down"), for: UIControlState.normal)
setImage(UIImage(named:"navigationbar_arrow_up"), for: UIControlState.selected)
sizeToFit()
}
// 防止storyboard崩潰
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
// 調(diào)整圖片和文字的位置
override func layoutSubviews() {
super.layoutSubviews()
titleLabel?.x = 0
imageView?.x = titleLabel!.width
}
}
提醒:我這里可以用.x和.with是因?yàn)槲覍?duì)frame進(jìn)行了重寫
2.調(diào)用自定義的標(biāo)題按鈕
let btn = TittleBtn()
btn.setTitle("極客江南 ", for: UIControlState.normal)
btn.addTarget(self, action: #selector(HomeViewController.tittleClick(btn:)), for: UIControlEvents.touchUpInside)
navigationItem.titleView = btn
3.方法的實(shí)現(xiàn)
@objc private func tittleClick(btn:TittleBtn){
print("標(biāo)題的點(diǎn)擊方法")
btn.isSelected = !btn.isSelected
}