Я использую aryaxt/iOS-Slide-Menu. Моя проблема: мне нужно показать разные левые меню в зависимости от того, какой вид контроллера отображается. Это мой код в AppDelegate:Различные ViewControllers в iOS-слайд-меню
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
UserMenuViewController *leftMenu = (UserMenuViewController *) [self.window.rootViewController.storyboard instantiateViewControllerWithIdentifier:@"UserMenuViewController"];
[SlideNavigationController sharedInstance].leftMenu = leftMenu;
Когда я пытаюсь изменить левое меню в моем специальном ViewController, я получаю черный экран в меню слева.
AppDelegate *sharedeDelegate = ((AppDelegate *)[UIApplication sharedApplication].delegate);
ProfessionalMenuViewController *leftMenu = (ProfessionalMenuViewController *) [sharedeDelegate.window.rootViewController.storyboard instantiateViewControllerWithIdentifier:@"ProfessionalMenuViewController"];
[SlideNavigationController sharedInstance].leftMenu = leftMenu;
Я пробовал много вещей, но ничего не работало. Благодаря!
Сделать UserMenuViewController * leftMenu недвижимость в AppDelegate.h. Инициируйте его в файле didFinishLaunchingWithOptions как self.leftMenu = [все, что вы хотите]. в Other Viewcontrollers, получите доступ к Appdelegate и установите его как sharedDelegate.leftMenu = [whatever]. Вопрос, почему, почему вы используете его в AppDelegate? Почему бы не использовать его как члена VC, так как функциональность отличается от разных VC? – NSNoob
Если я переведу его из делегата приложения, я получаю черный экран. –
@RenanGelrado, вы попробовали то, что я предложил? – NSNoob