UIToolbar с размером UINavigationController

У меня UIToolbar как rightBarButtonItem с моим UINavigationController. Я создаю это так:

UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 275, 44.01)];

В симуляторе iPad 4.3 он выглядит правильно и соответствует высоте UINavigationBar's. Но когда я запускаю его в симуляторе iPad 5.0, он выглядит слишком маленьким. Есть ли правильная настройка высоты UIToolbar? Спасибо.


person J W    schedule 14.11.2011    source источник


Ответы (1)


Вы бы избежали целой категории проблем такого рода, если бы использовали Interface Builder и все, что он мог предложить.

У вас есть конкретная причина делать это в коде? Даже если вы настаиваете на том, чтобы делать это там, вам не следует жестко кодировать свои ценности. Вы должны получать ширину из рамки / границ представления и / или помещать значения в определенные константы:

self.toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake( 0.0, 0.0, self.view.bounds.size.width, kStdToolbarHeight )];

Просто любопытно, почему у вас должна быть установлена ​​высота панели инструментов 44,01, а не 44,0?

person God of Biscuits    schedule 14.11.2011
comment
Насколько мне известно, единственный способ поместить UIToolbar в rightBarButtonItem с помощью UINavigationController - использовать код, поскольку Apple не хочет иметь несколько кнопок с UINavCtlr. Я сделал 44.01, потому что это то, что сказано в большинстве руководств, в том числе на SO, чтобы высота выглядела правильно. По крайней мере, так было до iOS 5. Я не знаю, изменилось ли это сейчас, поскольку я вижу проблему с высотой в одном симуляторе, а не в другом. - person J W; 15.11.2011