2016-08-01 85 views
3

我使用连接到UINavigationControllerUIPageViewController来显示两个页面,一个用户表和一个聊天表。如何在UIPageViewController的导航栏上显示按钮?

我想实现以下:

两个按钮UsersChat赖以,会出现相应的视图控制器攻。我想要导航栏上的这些按钮。

下面是我写在页面视图控制器类

viewDidLoad() 

    let storyBoard = UIStoryboard(name: "Main", bundle: nil) 
    let vc1 = storyBoard.instantiateViewControllerWithIdentifier("users") 
    let vc2 = storyBoard.instantiateViewControllerWithIdentifier("chat") 

    vcArray = [vc1, vc2] 

    self.setViewControllers([vc1], direction: .Forward, animated: true, completion: nil) 

    let button1 = UIButton(frame: CGRectMake(0, 30, self.view.frame.width/2, 30)) 
    let button2 = UIButton(frame: CGRectMake(self.view.frame.width/2+1, 30, self.view.frame.width/2, 30)) 
    button1.setTitle("Users", forState: .Normal) 
    button2.setTitle("Chat", forState: .Normal) 
    self.navigationController?.navigationBar.topItem?.titleView?.addSubview(button1) 

    self.navigationController?.navigationBar.topItem?.titleView?.addSubview(button2) 

不幸的是,所有按钮都出现在导航栏的代码。 事实上,我甚至不能为导航栏分配标题。我怎样才能解决这个问题?

感谢

回答

0

您可以在导航栏的右侧添加多个按钮,这样

let editImage = UIImage(named: "First")! 
let searchImage = UIImage(named: "Second")! 

let editButton = UIBarButtonItem(image: editImage, style: .Plain, target: self, action: "didTapEditButton:") 
let searchButton = UIBarButtonItem(image: searchImage, style: .Plain, target: self, action: "didTapSearchButton:") 

navigationItem.rightBarButtonItems = [editButton, searchButton] 

self.navigationController?.navigationBar?.navigationItem.rightBarButtonItems = [editButton, searchButton] 

如果你想使它看起来在中心在导航栏上,您可以使用具有适当宽度的图像,使其朝中心缩放。

+0

感谢您的回复。不幸的是,这并不能解决问题。我转移到RKSwipeViewController的内置功能 –