How to add custom view on right of navigation bar Swift?

// creating uiview and add three custom buttons

 func addRightButton(){

    let viewFN = UIView(frame: CGRectMake(0, 0, 180,40))
        viewFN.backgroundColor = UIColor.yellowColor()
    let button1 = UIButton(frame: CGRectMake(0,8, 40, 20))
    button1.setImage(UIImage(named: "notification"), forState: UIControlState.Normal)
    button1.setTitle("one", forState: .Normal)

    button1.addTarget(self, action: #selector(self.didTapOnRightButton), forControlEvents: UIControlEvents.TouchUpInside)

    let button2 = UIButton(frame: CGRectMake(40, 8, 60, 20))
    button2.setImage(UIImage(named: "notification"), forState: UIControlState.Normal)
    button2.setTitle("tow", forState: .Normal)
    let button3 = UIButton(frame: CGRectMake(80, 8, 60, 20))
     button3.setImage(UIImage(named: "notification"), forState: UIControlState.Normal)
    button3.setTitle("three", forState: .Normal)

    button3.addTarget(self, action: #selector(self.didTapOnRightButton), forControlEvents: UIControlEvents.TouchUpInside)

    viewFN.addSubview(button1)
    viewFN.addSubview(button2)
    viewFN.addSubview(button3)


    let rightBarButton = UIBarButtonItem(customView: viewFN)
    self.navigationItem.rightBarButtonItem = rightBarButton

}

You can do like this, try it:

var view = UIView(frame: CGRectMake(0, 0, 100, 44))
view.backgroundColor = UIColor.yellowColor()
var barButtonItem = UIBarButtonItem(customView: view)
self.navigationItem.rightBarButtonItem = barButtonItem

Swift 3/4/5 Version of the Accepted Answer

let viewFN = UIView(frame: CGRect.init(x: 0, y: 0, width: 180, height: 40))
viewFN.backgroundColor = .yellow
let button1 = UIButton(frame: CGRect.init(x: 0, y: 0, width: 40, height: 20))
button1.setImage(UIImage(named: "notification"), for: .normal)
button1.setTitle("one", for: .normal)

button1.addTarget(self, action: #selector(self.didTapOnRightButton), for: .touchUpInside)
let button2 = UIButton(frame: CGRect.init(x: 40, y: 8, width: 60, height: 20))
button2.setImage(UIImage(named: "notification"), for: .normal)
button2.setTitle("tow", for: .normal)
let button3 = UIButton(frame: CGRect.init(x: 80, y: 8, width: 60, height: 20))
button3.setImage(UIImage(named: "notification"), for: .normal)
button3.setTitle("three", for: .normal)

button3.addTarget(self, action: #selector(self.didTapOnRightButton), for: .touchUpInside)

viewFN.addSubview(button1)
viewFN.addSubview(button2)
viewFN.addSubview(button3)

let rightBarButton = UIBarButtonItem(customView: viewFN)

Hope it helps someone. Cheers!