Typhoon и Storyboard’ы

С версии 3.3.4 в Typhoon появилась поддержка работы с несколькими storyboard’ами из коробки. Что, как и зачем — под катом.

Начну с небольшого ликбеза — под активацией/поддержкой storyboard подразумевается возможность автоматически подцеплять правильные TyphoonDefinition из общего регистра компонентов для всех открываемых экранов. Изначально это работало только для storyboard, указанной в Info.plist под ключом UILaunchStoryboardName. Во всех остальных случаях, в том числе при переходах между несколькими storyboard’ами в рантайме, приходилось вручную создавать TyphoonStoryboard:

Начиная с версии 3.3.4 TyphoonStoryboard стал деталями реализации — на уровне кода можно работать с чистыми UIStoryboard — активация произойдет автоматически во время вызова метода -storyboardWithName:bundle:. Это открывает несколько чудесных возможностей:

  • Появилась поддержка Storyboard References, работающих частично начиная с iOS 8.
  • Для ручных переходов между storyboard теперь достаточно использовать стандартную LinkedSegue, без встраивания костылей по передаче ей TyphoonComponentFactory.

И напоследок — возможны случаи, когда одну или несколько storyboard в проекте автоматически активировать не требуется. Typhoon в этом случае работает по принципу black-list — все такие storyboard’ы указываются в Info.plist под ключом TyphoonCleanStoryboards.

  • Денис

    Егор, а что ты понимаешь под «частичной поддержкой» сториборд референсов? Кастомный segue класс или можно как-то эпловскую имплементацию завести?

  • Egor Afanasenko

    Такэ Compatibility: Storyboard references required an app targeting at least iOS 9.0, OS X 10.11, or WatchKit 2.0 for watchOS.

  • http://etolstoy.ru etolstoy

    @Денис в iOS 8 референсы могут быть использованы только для открытия рутового контроллера целевой сториборды.

  • Pingback: Best Writing Service()

  • Pingback: Best Writing Service()

  • Pingback: Get your documents written perfectly()

  • Pingback: mamba3()