UIBarButtonItem用于影响工具栏的NavigationControl的外观

时间:2013-04-20 16:52:23

标签: ios uinavigationcontroller uitoolbar uiappearance

我在UINavigationController中为UIBarButtonItem设置了一个UIAppearance,如下所示:

[[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];

但它似乎也影响了UIToolBar中的UIBarButtonItems。 我想要做的是,我在navigationBar中有自定义按钮,但我在键盘上方使用UIToolbar,我希望这些按钮保持iOS风格。

有没有办法恢复UIAppearance?或者我可以在UIToolbar中明确设置UIBarButtonItem的UIAppearance以使用默认值吗?

1 个答案:

答案 0 :(得分: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];