Виждам странна ситуация. Поставих лента за търсене в лентата за навигация и свързах UISearchDisplayController с лентата за търсене. Сега контролерът за показване на търсене има тенденция да скрие лентата за навигация, когато потребителят щракне върху лентата за търсене (следователно скриване на лентата за търсене също). За да противодействам на това, подкласирах UISearchDisplayController и внедрих следния код: -
- (void)setActive:(BOOL)visible animated:(BOOL)animated
{
[super setActive: visible animated: animated];
[self.searchContentsController.navigationController setNavigationBarHidden: NO animated: NO];
}
Сега това поправи първоначалния проблем. Мога да търся и да навигирам до други контролери.
Да кажем обаче, че правя търсене в контролер за изглед A и след това щраквам върху резултат от търсенето, който след това избутва контролер за изглед B в стека за навигация. Сега, ако извадя контролера за изглед B и се върна обратно към A, навигационната ми лента изчезва. Изглежда, че контролерът за показване на търсене е активен и затова скрива лентата за навигация.
Ако направя контролера за показване на търсене неактивен и след това натисна контролера за изглед B и след това го извадя, тогава се появява лентата за навигация.
И така, има ли някакъв начин моят контролер за показване на търсене да остане активен и лентата за навигация да не изчезне, когато извадя контролера B за преглед от стека за навигация?
И аз се насочвам към iOS6
(Кодът е много дълъг, така че не съм сигурен какво трябва да публикувам тук).