2013-12-10 7 views
2

У меня есть UIViewController внутри UINavigationViewController. Я использую navigationController. toolbar для некоторых действий.Позиция панели управления навигационной панелью IPad

Before

Там нет никаких проблем до первого поворота устройства. После этого панель инструментов отключается от рамки экрана.

After

И нет ничего, чтобы сделать, даже еще вращения устройства не может исправить это. Проблема возникает только на IPad ios v.6. Код очень прост:

- (void)createToolbar{ 
    UIImage *toolbarBack = [[UIImage imageNamed:@"navbar"] resizableImageWithCapInsets:UIEdgeInsetsMake(2, 2, 2, 2)]; 
    [self.navigationController.toolbar setBackgroundImage:toolbarBack forToolbarPosition:UIBarPositionBottom barMetrics:UIBarMetricsDefault]; 
    self.navigationController.toolbar.delegate = self; 
    //... 
    self.toolbarItems = @[item1, space, item2, space, item3, space, item4]; 
} 

- (void)showToolbar{ 
    [self.navigationController setToolbarHidden:YES animated:NO]; 
} 

#pragma mark - toolbar delegate methods 

- (UIBarPosition)positionForBar:(id<UIBarPositioning>)bar{ 
    return UIBarPositionBottom; 
} 

UPDATE я узнал, что до поворота navigationController.view.height == 1004 и после поворотов она увеличится на 20 (1024). Это проблема с статусом?

+0

Думаю, у вас плохое ограничение, которое подталкивает вашу панель инструментов к глубине вашего зрения. – shinyuX

+0

Можете ли вы вставить свой код? –

ответ

2

Настройка панели инструментов делегата к контроллеру представления и реализации метода:

- (UIBarPosition)positionForBar:(id <UIBarPositioning>)bar { 
    return UIBarPositionBottom; 
} 

При использовании раскадровки вы можете создать ограничение между нижней части экрана и панель инструментов.

+0

К сожалению, я не могу использовать автозапуск. Использование методов делегата панели инструментов не имеет смысла. – Astoria

+0

Итак, просто реализуйте вышеописанный метод и в viewDidLoad добавьте navigationController.toolbar.delegate = self. Не забудьте добавить протокол . – Greg

+0

Я реализовал метод протокола, но он не сделал defference – Astoria

Смежные вопросы