2013-04-20 3 views
0

Я установил UIAppearance для UIBarButtonItem в UINavigationController, как это:UIBarButtonItem Внешний вид для NavigationControl затрагивающий Панель

[[UIBarButtonItem appearanceWhenContainedIn: [UINavigationController class],nil] setBackgroundImage:bimg forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; 
[[UIBarButtonItem appearanceWhenContainedIn: [UINavigationController class],nil] setTitlePositionAdjustment:UIOffsetMake(0, bimg.size.height*2) forBarMetrics:UIBarMetricsDefault]; 

, но это, кажется, влияет на UIBarButtonItems внутри UIToolbar, а также. что я хочу сделать, у меня есть пользовательские кнопки в navigationBar, но я использую UIToolbar над клавиатурой, и я хочу, чтобы эти кнопки оставались на складе в стиле iOS.

Есть ли способ вернуть UIAppearance? Или я могу явно установить UIAppearance UIBarButtonItem внутри UIToolbar для использования по умолчанию?

ответ

1

Использование UINavigationBar вместо UINavigationController:

[[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class],nil] setBackgroundImage:bimg forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; 
[[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class],nil] setTitlePositionAdjustment:UIOffsetMake(0, bimg.size.height*2) forBarMetrics:UIBarMetricsDefault];