ios - 为什么使用 Swift 在 View 上执行某些操作时顶部导航栏会消失?

标签 ios swift uinavigationcontroller cncontact

我有 ViewController,它有一个按钮可以导航到 CNContactViewController 一切正常,我可以返回并再次按下按钮等等。但是当我在 CNContactViewController 上执行一个操作,即 Share Contact 顶部导航栏将会消失,并且我肯定会卡在这个 View 中..这是代码:

    @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:"<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="b4d1ccf4c3dcd5c0d1c2d1c69ad7dbd9" rel="noreferrer noopener nofollow">[email protected]</a>")
    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)

}

我是否需要在 CNContactViewController 上实现更多内容来共享联系人和其他操作?

注释:

1- 联系人卡片上的所有操作都可以正常工作,例如调用发送消息,但导致问题的共享联系人除外。

2-当我将 VC 上的操作与联系人应用程序进行比较时,我注意到共享联系人的弹出选项 View 位于导航栏上方,但在我的应用程序中,选项 View 位于导航栏。

查看左侧的“联系人”应用程序和右侧的“我的应用程序”:

Contacts App here My App

我的项目文件:Here 这是一个小项目

最佳答案

这是一个错误,根据此 https://stackoverflow.com/a/33762209/3378099

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

  1. 创建一个扩展 UINavigationController 的新类
  2. 将其分配给 Storyboard 中的 NavigationController
  3. 覆盖函数func setNavigationBarHidden(hidden: Bool,animated: Bool)

重新上传您的项目 here

关于ios - 为什么使用 Swift 在 View 上执行某些操作时顶部导航栏会消失?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39364785/

相关文章:

ios - LeftBarButtonItem 有两个按钮。一键不响应点击

ios - 在 ViewController 中查看 deinit 时遇到问题

c++ - OpenGL ES 2.0 中的旋转

ios - 谷歌驱动器选项在 IOS10 的 UIDocumentMenuViewController 中不可见

iOS Swift WKWebView 不缩放

ios - 在 KeyboardDidShow 上切换 UIBarButtonItem

iphone - iOS 应用程序中的维基百科

ios - Xcode 运行时错误无法加载 "_IBBrokenImage_"

ios - 如何创建模型类以及如何与 TableView 中的部分一起使用

ios - 应用程序进入后台后未调用 animationController For Operation