Я уже создал несколько (статических) быстрых действий в Info.plist для своего приложения iOS, созданного в Xcode и написанного на Swift.
У меня проблемы с открытием ViewController. Конечно, я уже гуглил, но у меня ничего не получалось. Если это считается: я использую ViewController, управляемый TabBarController. В большинстве учебных пособий используется NavigationController. Но, я думаю, это будет сделано с переходами, верно? Какой код мне нужен, чтобы справиться с этим?
Может ли кто-нибудь предоставить его, пожалуйста? Или кто-нибудь знает простое руководство/учебник?
С уважением, Дэвид.
P.S.: Я пробовал этот код, но он работает только с NavigationController?! Код:
func application(application: UIApplication, performActionForShortcutItem shortcutItem: UIApplicationShortcutItem, completionHandler: (Bool) -> Void)
{
self.handleShortcutItem(shortcutItem)
completionHandler(true)
}
func handleShortcutItem(shortcutItem: UIApplicationShortcutItem)
{
switch shortcutItem.type {
case "icons.quickaction.home":
self.presentComposeViewController()
default: break
}
}
func presentComposeViewController()
{
guard let navigationController = window?.rootViewController as? UINavigationController else { return }
let identifier = "MyViewController"
let composeViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier(identifier)
navigationController.pushViewController(composeViewController, animated: false)
}
UITabBarController
имеет свойствоselectedIndex
, которое показывает одно из его представлений. - person saagarjha   schedule 06.06.2016composeViewController
частьюUITabBarController
? - person saagarjha   schedule 06.06.2016composeViewController
частью контроллера панели вкладок? Если это так, вы можете просто установитьselectedIndex
. Если это подвид, установите правильный индекс, а затем нажмите его. - person saagarjha   schedule 07.06.2016composeViewController
является третьим контроллером представления вUITabBarController
.guard let tabBarController = window?.rootViewController as? UITabBarController else { return }; tabBarController.selectedIndex = 2
должно работать (точка с запятой для разрыва строки). Не забудьте проверить наличие ярлыков во время запуска приложения. - person saagarjha   schedule 08.06.2016