Определить, работает ли UIViewController внутри существующего UINavigationController - PullRequest
1 голос
/ 22 августа 2011

Я создаю общий многократно используемый компонент UIViewController, который люди могут добавлять в свои приложения.Требуется панель навигации вверху, где будут добавлены некоторые кнопки.

Я могу легко создать панель навигации и добавить кнопки, но если разработчик, использующий мой компонент, добавляет представление как часть существующей структуры навигации, они могут в итоге иметь 2 панели навигации.

Другими словами, если мой вид загружен:

 [self.navigationController pushViewController:controller animated:YES];

, тогда он не должен добавлять панель навигации и использовать то, что уже есть.Если представление загружено с:

 [self presentModalViewController:controller animated:YES];

, тогда оно должно добавить свою собственную панель навигации.

Не требуя, чтобы разработчик, использующий мой контроллер, сделал что-то вроде useNavBar: ДА, есть лиспособ сделать это автоматически?

Подойдет что-то вроде [self isRunningInsideANavigationController] или [self hasNavigationBar].

1 Ответ

1 голос
/ 22 августа 2011

Вы можете использовать self.navigationController для этой цели.Он вернет ноль или навигационный контроллер.

...