You can create UIButton instance, set an image and a title for it, and then create your UIBarButtonItem with it:
let button = UIButton(type: .System)
button.setImage(UIImage(named: "YourImage"), forState: .Normal)
button.setTitle("YourTitle", forState: .Normal)
button.sizeToFit()
self.leftBarButton = UIBarButtonItem(customView: button)
To add an action:
button.addTarget(self, action: #selector(self.someAction), forControlEvents: .TouchUpInside)
where self.someAction is
func someAction() {
}