我正在尝试实现 3d Touch,并且我想导航到 Master - Detail 应用程序中的特定 viewController。
我要达到的 viewController 是层次结构中的第三个控制器:
MasterViewController ----> SettingsViewController ----> ThirdViewController
我可以通过 TabBarItem(通过 segue 直接从 IB 连接到 SettingsViewController)在正常操作中访问 ThirdViewController,然后通过 UIButton(通过 segue 直接从 IB 连接到 ThirdViewController)到 ThirdViewController。
即在 MasterViewController ---> (点击 barButtonItem) ----> SettingsViewControler ----> (点击 uiButton) ---> ThirdViewController。
我已经修改了 info.plist 和 3D touch 工作正常,可以调用我的操作:
func application(application: UIApplication, performActionForShortcutItem shortcutItem: UIApplicationShortcutItem, completionHandler: (Bool) -> Void) {
var shortcutDictionary = shortcutItem.userInfo;
let shortcutString1 = shortcutDictionary!["key1"] as! String
if (shortcutString1 == "value1") {
// how do i get from here to the settingsController??
}
}
编辑:
已经尝试过:
let viewController = MasterViewController() viewController.settingsButton.sendActionsForControlEvents(.TouchUpInside)
这给了我一个错误:试图解开可选值的致命错误!
虽然这存在于 MasterViewController
@IBOutlet weak var settingsButton: UIButton!