我目前正在开发一个Swift应用程序,我希望用户能够编辑他们之前在应用程序中创建的联系人。也就是说,我使用CNContactViewController(forContact: CNContact)初始化函数来创建视图控制器。
我在TableViewController的子类中有以下代码,该子类嵌入在导航控制器中
let contactViewController = CNContactViewController(forNewContact: contact)
contactViewController.delegate = self
self.navigationController?.pushViewController(contactViewController, animated: true)当contactViewController进入视图时,联系人加载正常,但顶部的导航栏中缺少编辑按钮。如果我在将print(contactViewController.allowsEdits)推送到导航控制器之前立即硬编码它,它会说是真的,这很奇怪。
谢谢你的帮助。
(请注意,我传递给构造函数的联系人是一个CNMutableContact,因此它应该是可编辑的)
发布于 2016-04-12 21:02:38
在按下contactViewController之前,您只需添加以下内容即可显示“编辑”按钮:
let contactViewController = CNContactViewController(forNewContact: contact)
contactViewController.delegate = self
//Here you make Edit button to appear and do things that it is supposed to do
contactViewController.navigationItem.rightBarButtonItem? = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Edit,target: self, action: nil)
self.navigationController?.pushViewController(contactViewController, animated: true)https://stackoverflow.com/questions/35072858
复制相似问题