shouldAutorotateToInterfaceOrientation UIToolbar в ландшафтном режиме отключен на один пиксель - PullRequest
0 голосов
/ 25 февраля 2012

Я добавляю панель инструментов в свое представление следующим образом:

self.myToolbar = [UIToolbar new];
    self.myToolbar.barStyle = UIBarStyleDefault;
    self.myToolbar.tintColor = [UIColor BAR_COLOR];
    self.myToolbar.frame = CGRectMake(0, self.view.bounds.size.height-44, 320, 44);
    self.myToolbar.autoresizingMask = (UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleTopMargin|UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight);
[self.view addSubview:myToolbar];

В конструкторе интерфейса я установил фиксированный верхний и левый поля для представления.Также в смоделированных метриках я установил для строки состояния значение «Черный», для верхней панели - «Панель навигации», а для нижней - «Нет».

Это прекрасно работает в портретном режиме.И выглядит это так:

enter image description here

Теперь, когда я поворачиваюсь в ландшафтный режим, панель инструментов изменяется и все, НО это находится на расстоянии одного пикселя от нижнего края, как это:

enter image description here

Что может быть причиной этого?

1 Ответ

3 голосов
/ 25 февраля 2012

работает следующий код:

self.myToolbar = [UIToolbar new];
self.myToolbar.barStyle = UIBarStyleDefault;
self.myToolbar.tintColor = [UIColor BAR_COLOR];
CGRect screenRect = [[UIScreen mainScreen] applicationFrame]; //get the rect of the screen 
self.myToolbar.frame = CGRectMake(screenRect.origin.x, screenRect.size.height-44, screenRect.size.width, 44);
self.myToolbar.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
[self.view addSubview:myToolbar];

EDIT

На самом деле это ошибка, возникающая на симуляторе iOS5.

...