使用Swift对视图执行某些操作时,为什么顶部导航栏会消失?

时间:2016-09-07 08:24:19

标签: ios swift uinavigationcontroller cncontact

我有ViewController有一个按钮可以导航到CNContactViewController每件事情都很好我可以回去再按一下按钮等等。但是当我对{做一个动作时我的问题{1}} CNContactViewController顶部导航栏将会消失,我肯定会卡在此视图中..这就是代码:

Share Contact

我是否需要在 @IBAction func dothis(sender: AnyObject) { let contact = CNMutableContact() contact.givenName = "first Name" contact.familyName = "Last Name" contact.phoneNumbers = [CNLabeledValue( label:"Mobile", value:CNPhoneNumber(stringValue:"123456789")), CNLabeledValue( label:"Work Phone", value:CNPhoneNumber(stringValue:"1234"))] let workEmail = CNLabeledValue(label:"Work Email", value:"ex@whatever.com") contact.emailAddresses = [workEmail] let controller = CNContactViewController (forContact: contact) controller.contactStore = self.store controller.allowsEditing = false controller.displayedPropertyKeys = [CNContactPhoneNumbersKey,CNContactEmailAddressesKey, CNContactPostalAddressesKey] self.navigationController? .pushViewController(controller, animated: true) } 上为共享联系人和其他操作实施更多内容?

注意:

1-联系卡上的所有操作都很有效,例如CNContactViewControllerCall,但导致问题的Send Message除外。

2-当我将VC上的操作与Contacts应用程序进行比较时,我注意到Share Contact的弹出选项视图来自导航栏,但在我的应用程序中,选项视图位于导航栏后面。< / p>

请参阅左侧的“联系人”应用和右侧的应用

Contacts App here My App

我的项目文件:Here它的小项目

2 个答案:

答案 0 :(得分:2)

根据此https://stackoverflow.com/a/33762209/3378099

,这是一个错误

这是一个不优雅的解决方案:

  1. 创建一个扩展UINavigationController的新类
  2. 将其分配给Storyboard中的NavigationController
  3. 覆盖功能func setNavigationBarHidden(hidden: Bool, animated: Bool)
  4. 重新上传您的项目here

答案 1 :(得分:1)

我确实使用Swift 3将Xcode更新到8.0版,并且在不更改代码的情况下解决了问题。