Вы можете иметь Path-подобный скользящий левый контроллер вида, используя превосходную реализацию ViewDeck Тома Адрианссена:
ViewDeck на GitHub
В вашем приложении при настройке navigator.window не пропускайте окно. Передайте UIView пользовательского UIViewController (тот, который вы установите в качестве «центрального» контроллера представления в ViewDeck:
navigator.window=(UIWindow*)myCentralViewController.view;
это заставит TTNavigator из 320 думать, что он успешно захватил ваше окно, хотя на самом деле это просто вид. Обратите внимание, однако, что вам может понадобиться создать подкласс этого представления и реализовать пустые методы UIWindow, такие как:
- (void)makeKeyAndVisible{}
.. потому что TTNavigator из Three20 все еще думает , что это ваше главное окно UIWindow и ожидает, что ваш объект будет реагировать на обычные селекторы UIWindow.
Это неизведанная территория, и это, безусловно, что-то вроде хака, которое может иметь непредвиденные последствия.
Вам может понадобиться установить отрицательный y на фрейме «поддельного окна», чтобы компенсировать статусную строку. e.g.:
[[MYFakeWindow alloc] initWithFrame:CGRectMake(0, -20, 320, 480)];
Опять будьте осторожны. Я использую этот хак в приложении, где оно ведет себя очень хорошо, но вы все еще боретесь с фреймворком Three20, поэтому убедитесь, что он не откусывает назад.