【问题标题】:Add 3D touch dynamic quick action with view controller inside navigation在导航中使用视图控制器添加 3D 触摸动态快速操作
【发布时间】:2016-08-05 17:50:32
【问题描述】:

我想使用以下代码在我的应用中实现 3D 触摸快速操作:

func createQuickActions(application: UIApplication) {
    let shortcut1 = UIMutableApplicationShortcutItem(type: NSBundle.mainBundle().bundleIdentifier!+".CrearActividad", localizedTitle: "Actividad", localizedSubtitle: nil, icon: UIApplicationShortcutIcon.init(templateImageName: "iphone-3d-touch-checkbox"), userInfo: nil)
    let shortcut2 = UIMutableApplicationShortcutItem(type: NSBundle.mainBundle().bundleIdentifier!+".CrearNota", localizedTitle: "Nota", localizedSubtitle: nil, icon: UIApplicationShortcutIcon.init(templateImageName: "iphone-3d-touch-notebook"), userInfo: nil)
    let shortcut3 = UIMutableApplicationShortcutItem(type: NSBundle.mainBundle().bundleIdentifier!+".CrearReunion", localizedTitle: "Reunión", localizedSubtitle: nil, icon: UIApplicationShortcutIcon.init(templateImageName: "iphone-3d-touch-calendar"), userInfo: nil)

    application.shortcutItems = [shortcut1,shortcut2,shortcut3]
}

按下快速操作按钮后,会出现相应的视图控制器,但没有导航栏(在我的故事板上,所有视图控制器都通过导航控制器连接)。 我的导航栏上有重要的按钮,那么如何使用可见的导航栏/导航控制器实例化和推送我的视图控制器?

【问题讨论】:

    标签: ios swift 3dtouch


    【解决方案1】:

    当应用程序通过 3D touch 打开时,调用 AppDelegate 中的以下方法。

        func application(application: UIApplication, performActionForShortcutItem shortcutItem: UIApplicationShortcutItem, completionHandler: (Bool) -> Void) {
    
        //Navigate to required viewController after instantiating new navigation controller programatically
    
    }
    

    希望您在各自的视图控制器中以编程方式添加导航栏按钮。如果是这样,您可以在通过 3D Touch 快速操作访问时查看这些条形按钮。

    【讨论】:

    • 感谢您的回答,我使用了该方法,并且在根据所选的快捷方式项选择了要显示的 ViewController 之后,我在那里调用了 window?.rootViewController?.showViewController 方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多