Я роблю додаток, який відкриває детальний вид із натискання сповіщення. У своєму AppDelegate я відкриваю подання, але в перегляді немає контролера навігації.
Тоді я думаю, що моє рішення - це використовувати метод instantiateViewControllerWithIdentifier
для управління навігаційним контролером, я не впевнений, чи це рішення, але ось питання щодо назви ...
Мій клас SlideNavigationController
є "Objective-C", і коли я використовую метод
let rootVC = UIStoryboard(name: "Main", bundle: nil).
instantiateViewControllerWithIdentifier("SlideNavigationController") as! SlideNavigationController
Я отримую помилку:
попередження: не вдалося завантажити будь-яку інформацію про клас Objective-C. Це значно знизить якість доступної інформації про тип.
Будь-яка ідея? Вибачте за мою англійську, правки вітаються! Дякую
Проблема з моїм UIController вирішена. Ось мій код:
let rootViewController = self.window!.rootViewController as! UINavigationController
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let targerView = mainStoryboard.instantiateViewControllerWithIdentifier("view_place_detail") as! VCPlaceDetailTour
targerView.placeId = aps as String
rootViewController.pushViewController(targerView, animated: false)
Відповіді:
2 для відповіді № 1Ви можете зробити з цим кодом.
let rootViewController = self.window!.rootViewController as! UINavigationController
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let targerView = mainStoryboard.instantiateViewControllerWithIdentifier("view Identifier") as! PromotionDetailsVC
rootViewController.pushViewController(targerView, animated: false)
Я сподіваюсь, це допоможе вам.
1 для відповіді № 2
Ви можете програмно створити навігаціюКонтролер і встановіть потрібний контролер подання як його rootViewController навігаційного контролера, а потім встановіть контролер навігації як Windows rootViewController.
наприклад:
let rootVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("SlideNavigationController") as! SlideNavigationController
let window = UIApplication.sharedApplication().keyWindow
window.rootViewController = rootVC
Те саме пояснюється і в цьому посиланні: встановити початковий контролер перегляду в appdelegate - швидко
1 для відповіді № 3
Вам потрібно створити мостиковий заголовок, щоб використовувати об'єктивні контролери c у швидкому проекті.
Перейдіть за посиланням нижче, щоб отримати інформацію про створення мостового заголовка.
Як знайти шлях Bridging-Header.h - Swift, Xcode
Після цього ви повинні імпортувати .h файли контролерів у перехідний файл заголовка.
Тепер ви можете легко використовувати ваш об'єктивний контролер перегляду c у швидкому проекті.