3D Touch(快速动作)导致UIViewController

时间:2015-11-08 15:54:37

标签: ios swift uiviewcontroller 3dtouch

是一种从快速操作中打开特定视图控制器的方法。我在App Delegate中有以下代码来打开特定的View Controller。我的应用程序与Snapchat应用程序具有相同的设计,即在滚动视图中嵌入了不同的视图控制器,我想要定位特定的视图控制器,例如周日视图控制器。

想法是呈现从快速行动项目中选择的第一,第二或第三项目。

  func handleShortCutItem(shortcutItem: UIApplicationShortcutItem) -> Bool {



 var handled = false


    guard ShortcutIdentifier(fullType: shortcutItem.type) != nil else {
        return false
    }

    guard let shortcutType = shortcutItem.type as String? else {
        return false
    }

    switch (shortcutType) {
    case ShortcutIdentifier.First.type:

        //Present the Add View Controller
        handled = true


        let mondayVC : MondayViewController = MondayViewController(nibName: "MondayViewController", bundle: nil)
        self.window?.rootViewController?.presentViewController(mondayVC, animated: true, completion: nil)

        break

    case ShortcutIdentifier.Second.type:

        //Present the View Controller related to this Screen
        handled = true

        let fridayVC : FridayViewController = FridayViewController(nibName: "FridayViewController", bundle: nil)
        self.window?.rootViewController?.presentViewController(fridayVC, animated: true, completion: nil)

        break

    case ShortcutIdentifier.Third.type:

        //Present the View Controller related to this Screen
        handled = true

        let sundayVC : SundayViewController = SundayViewController(nibName: "SundayViewController", bundle: nil)
        self.window?.rootViewController?.presentViewController(sundayVC, animated: true, completion: nil)

        break

    default:
        break
    }

    return handled

} 

运行此功能的添加委托代码是:

func application(application: UIApplication, performActionForShortcutItem shortcutItem: UIApplicationShortcutItem, completionHandler: (Bool) -> Void) {

        let handledShortcutItem = self.handleShortCutItem(shortcutItem)
        completionHandler(handledShortcutItem)
    }

0 个答案:

没有答案