我注意到如果我在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
的导航栏中添加按钮?
答案 0 :(得分:0)
您无法在ABPersonViewController上添加按钮。即使你能够添加,它也会被苹果拒绝。你可以做的是制作像ABPersonViewController这样的自定义视图,并在其中更改你想要的任何内容。 (我个人认为ABPersonViewController很好,你应该没有问题)。
答案 1 :(得分:0)
最好的办法是为ABPersonViewController
创建一个视图控制器文件,并在viewDidLoad
中正常设置按钮。
即:
self.navigationItem.leftBarButtonItem = menuButton
您可以通过向视图添加导航项,然后添加一个条按钮项,以非编程方式将该按钮添加到栏。