2015-10-08 2 views
1

Это моя раскадровки: enter image description hereКак подтолкнуть ViewController правильно

Краткое описание:

  • My App начинается с LaunchController
  • модальный Segue показывает Reveal View Controller
  • это принесет контроллер меню и мой главный навигационный контроллер (ID «NavController», зеленый Navbar) вместе. это создаст слайд . (Базовый код: appcoda.com/ios-programming-sidebar-navigation-menu/)
  • мой главный контроллер навигации показывает TableViewController.
  • это один есть кнопка меню (3 линии), которые делают меню слайда видимого значок
  • плюс Willo нажмите последний вид контроллер (ID: «VC1»).

Моя проблема: Я хотел бы установить быстрые действия для своего приложения. Этот код работает для справки, что:

@available(iOS 9.0, *) 
    func handleShortcut(shortcutItem:UIApplicationShortcutItem) -> Bool { 

     var succeeded = false 

     let storyboard = UIStoryboard(name: "Main", bundle: nil) 
     let initialViewController = storyboard.instantiateViewControllerWithIdentifier("NavController") 
     self.window?.rootViewController = initialViewController 

     let navVC = self.window?.rootViewController as! UINavigationController 

     switch shortcutItem.type { 

     default: 
      navVC.pushViewController(storyboard.instantiateViewControllerWithIdentifier("VC1"), animated: false) 
      succeeded = true 
      break 
     } 
     return succeeded 

    } 

Этот код установите NavController в качестве начальных унд контроллера нажать на VC1. Это прекрасно работает.

С помощью значка X в VC 1 я снова использую функцию разматывания для TableView. Проблема: если я использую функцию undwind и возвращаюсь к таблице, я не могу открыть меню слайдов. Прикосновение к значку меню не дает никакой реакции.

Проблема может заключаться в том, что я запускаю приложение с быстрым действием за контроллером просмотра Reveal.

Как я могу решить эту проблему?

+0

Привет, Ghost108, у вас есть решение проблемы? можете ли вы поделиться им для всех, пожалуйста? – NoBody

ответ

0

ли вы пытаетесь сделать раскрыть вид контроллера точка входа вашего приложения и удаления контроллера запуска, потому что если вы просто хотите, чтобы вернуться к главному экрану вы можете просто сделать это:

let storyboard = UIStoryboard(name: "Main", bundle: nil) 
    let controller = storyboard.instantiateInitialViewController() as UIViewController! 
    self.presentViewController(controller, animated: false, completion: nil) 

Если вы не можете объяснить причину запуска контроллера?

+0

пульт управления не может быть удален. можете ли вы показать мне полный код для моего решения с моим примером сообщения 1 – Ghost108

Смежные вопросы