Swift:无法在ABPersonViewController的导航栏中添加按钮

时间:2015-08-20 16:25:14

标签: ios swift uinavigationcontroller abaddressbook

我注意到如果我在UIViewController中有UINavigationController,就像:

let vc = UIViewController()
let nav = UINavigationController()
nav.viewControllers = [vc]
self.presentViewController(nav, animated: true, completion: nil)

添加按钮导航栏非常简单:vc.navigationItem.leftBarButtonItem = ...

但是,如果视图控制器的类型为ABPersonViewController,则如下所示:

let person = ABPersonViewController()
person.personViewDelegate = self
person.displayedPerson = info
let nav = UINavigationController()
nav.viewControllers = [person]
self.presentViewController(nav, animated: true, completion: nil)

我无法以相同的方式在导航栏中添加按钮;正如here所做的那样,person.navigationItem.leftBarButtonItem = ...什么也没做。

那么,有没有办法在ABPersonViewController的导航栏中添加按钮?

2 个答案:

答案 0 :(得分:0)

您无法在ABPersonViewController上添加按钮。即使你能够添加,它也会被苹果拒绝。你可以做的是制作像ABPersonViewController这样的自定义视图,并在其中更改你想要的任何内容。 (我个人认为ABPersonViewController很好,你应该没有问题)。

答案 1 :(得分:0)

最好的办法是为ABPersonViewController创建一个视图控制器文件,并在viewDidLoad中正常设置按钮。

即:

self.navigationItem.leftBarButtonItem = menuButton

您可以通过向视图添加导航项,然后添加一个条按钮项,以非编程方式将该按钮添加到栏。

相关问题