Я создаю общий многократно используемый компонент UIViewController, который люди могут добавлять в свои приложения.Требуется панель навигации вверху, где будут добавлены некоторые кнопки.
Я могу легко создать панель навигации и добавить кнопки, но если разработчик, использующий мой компонент, добавляет представление как часть существующей структуры навигации, они могут в итоге иметь 2 панели навигации.
Другими словами, если мой вид загружен:
[self.navigationController pushViewController:controller animated:YES];
, тогда он не должен добавлять панель навигации и использовать то, что уже есть.Если представление загружено с:
[self presentModalViewController:controller animated:YES];
, тогда оно должно добавить свою собственную панель навигации.
Не требуя, чтобы разработчик, использующий мой контроллер, сделал что-то вроде useNavBar: ДА, есть лиспособ сделать это автоматически?
Подойдет что-то вроде [self isRunningInsideANavigationController] или [self hasNavigationBar].