Защо моят модален изглед не се показва в приложението ми за iOS?

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

- (void)viewDidAppear:(BOOL)animated
{
 [super viewDidAppear:animated];

 MyViewController_iPhone *myVC = [[MyViewController_iPhone alloc] initWithNibName:@"MyView" bundle:nil];
 [[self navigationController] presentModalViewController:myVC animated:YES];
 [myVC release];
}

Когато стартирам приложението си и раздела във втория изглед, модалният изглед не се показва. Когато премина през него в програмата за отстраняване на грешки, програмата за отстраняване на грешки показва, че всички тези редове код се изпълняват успешно, но аз все още не виждам нищо на екрана. В IB всичките ми класове и връзки са правилно зададени за перото "MyView". Някакви предположения?

Освен това съм нов в разработката на iOS, така че не съм сигурен дали това е нормално или не, но когато преминавам през това в програмата за отстраняване на грешки, забелязвам, че преминавам през метода viewDidAppear за изгледа във втория раздел , но когато погледна устройството си с iOS, приложението все още показва изгледа за първия раздел. Ако минавам през метода viewDidAppear за конкретен изглед, не трябва ли този изглед да се показва на устройството в този момент?

Благодаря ви много предварително за помощта!


person BeachRunnerFred    schedule 01.09.2010    source източник


Отговори (1)


Казвате, че вашият изглед е в приложение, базирано на лента с раздели, но не споменавате дали разделите имат UINavigationControllers в тях. Споменавам това, защото вие извиквате presentModalViewController:animated: за резултата от [self navigationController], който, ако не видите нищо да се случва, подозирам, че е нула. Може би сте искали да го извикате на [self tabBarController] вместо това?

person imaginaryboy    schedule 01.09.2010
comment
ааа, добър улов! този конкретен раздел няма навигационен контролер. това го оправи, благодаря! - person BeachRunnerFred; 02.09.2010