Къде трябва да представя Modal View Controller?

Имам приложение с UITabBarController на най-високо ниво. Проследявам в кой раздел е даден потребител и го съхранявам, така че когато отворят отново приложението, те са в раздела, в който са били, когато е било затворено. Така че няма раздел по подразбиране, когато приложението се стартира.

Имам модален екран, който се показва първи при всяко стартиране на приложението. Няма значение кой раздел е бил запазен, на потребителя винаги се представя този изглед.

Откъде трябва да бъде представен този модален изглед? Логичното би било UITabBarController да го представи, тъй като е rootViewController, но Apple обезкуражава подкласирането на UITabBarController. Друг подход би бил да има UIViewController като rootViewController, който да обработва презентацията, но Apple настояват, че UITabBarController трябва да бъде rootViewController.

И така, как да се справя с това?


person Undistraction    schedule 10.05.2012    source източник
comment
Направете функция в един общ клас, който представя модалния изглед, който искате, и след това го поставете във viewDidAppear на основните контролери за изгледи за всички раздели, които имате. Дано го получиш. Уведомете ме, ако имате нужда от още помощ. Благодаря   -  person Parth Bhatt    schedule 10.05.2012


Отговори (1)


Ако започнете с прозоречно приложение и първо зададете viewController като rootViewController и след това, след като приключите с това viewController, зададете tabBarController като rootViewController, мисля, че нямате проблеми.

person Mat    schedule 10.05.2012
comment
Това е интересна идея. Така че имате временен VC, който управлява представянето на модален изглед при стартиране, след което го заменете с UItabBarController? Чудя се обаче колко гладко би било превключването. - person Undistraction; 10.05.2012
comment
Да точно; Направих това в няколко приложения за влизане. Можете да поставите известно забавяне/анимация, за да постигнете хубав ефект на прехода. - person Mat; 10.05.2012