Как сделать так, чтобы панель навигации UINavigationController отображалась внизу? - PullRequest
4 голосов
/ 03 мая 2011

Есть ли способ сделать панель навигации по умолчанию для дисплея UINavigationController внизу, а не сверху? Я знаю, что есть UIToolbar, который может отображаться внизу, но этот характерен для каждого вида и не содержит кнопку «назад».

Ответы [ 4 ]

7 голосов
/ 03 мая 2011

Если вы создаете свой вид, используя NIB, то это довольно просто - выберите панель навигации в атрибутах -> нижняя панель.Если нет, то вы должны получить доступ к панели навигации напрямую и изменить ее координаты.В вашем контроллере вида:

CGRect oldRect = self.navigationController.navigationBar.frame;
self.navigationController.navigationBar.frame = CGRectMake(x, y, oldRect.width, oldRect.height);

где x и y - координаты для размещения панели навигации.

3 голосов
/ 03 мая 2011

Попробуйте это:

bottomNav = [[UINavigationBar alloc] initWithFrame:CGRectMake(0.0,  self.view.frame.size.height - 20, self.view.frame.size.width, 44.0)];  
bottomNav.barStyle = UIBarStyleBlackOpaque;  
[self.parentViewController.view addSubview:bottomNav];  
0 голосов
/ 16 июля 2015

Вот быстрая версия:

var bottomNav = UINavigationBar(x: 0, y: view.frame.size.height - 20, w: view.frame.size.width, h: 44)
bottomNav.barStyle = UIBarStyle.Black
parentViewController?.view.addSubview(bottomNav)
0 голосов
/ 03 мая 2011

Я думаю, что вы можете, но я не думаю, что это будет одобрено Apple

@implementation UINavigationBar (CustomBar)
- (void)drawRect:(CGRect)rect {
    self.frame = CGRectMake(0, 436, 320, 44);

}
...