本人是作ios的之前一直用oc開發(fā)劣挫,現(xiàn)在摸索swift 雖然有點晚,用的oc代碼轉(zhuǎn)換成swift的可能存在瑕疵。歡迎提出問題一起學(xué)習(xí)進步霞赫。
上代碼:
import Foundation
import?UIKit
extension UIBarButtonItem{
class public func ? ? ?itemWithTarget(target:Any?,action:Selector,image:String,highimage:String) ->UIBarButtonItem{
let btn:UIButton = UIButton.init(type: UIButtonType.custom) btn.setBackgroundImage(UIImage.init(named: image), for: UIControlState.normal) btn.setBackgroundImage(UIImage.init(named: highimage), for: UIControlState.highlighted) var rect:CGRect = CGRect.zero
rect.size = (btn.currentBackgroundImage?.size)!
btn.frame = rect btn.addTarget(target, action: action, for: UIControlEvents.touchUpInside) return UIBarButtonItem.init(customView: btn) } }
(在控制器里)調(diào)用:(我這邊定義的是返回按鈕)
viewController.navigationItem.leftBarButtonItem = UIBarButtonItem.itemWithTarget(target: self, action: #selector(back), image:"返回", highimage:"ss")
@objc private func back()
{ self.popToRootViewController(animated: true); }
我寫的代碼不一定對秃诵,但是能運行!